作者pleaselouis (LOUISN)
看板GameDesign
標題Re: [請益] 請問關於 D3DPOOL_SYSTEMMEM 的相關設定
時間Wed Nov 26 15:49:58 2008
今天有試過以 UpdateTexture 來作測試
不過我想我在基礎的部分還不是很了解 所以再來這邊請教大家
1.請問UpdateTexture是直接取代LockRect與UnlockRect之間所做的動作嗎??
還是兩者皆要存在??
2.我的系統在Texture的宣告是使用 LPDIRECT3DTEXTURE9
而UpdateTexture的Texture參數是以 IDirect3DBaseTexture9 做宣告
就算我使用強制轉型 Complier也一樣不過 DirectX有其他可取代的Function嗎?
3.我有在MSDN上看到 若POOL設定為 D3DPOOL_SYSTEMMEM
則DevCaps要設定為 D3DDEVCAPS_TEXTURESYSTEMMEMORY
但網路上有提 並非所有顯卡都支援 D3DDEVCAPS_TEXTURESYSTEMMEMORY
而且我之前的文章有提到 我沒有發現可以設定 DevCaps 的方式
請問真的沒有設定DevCaps的方式嗎??
4.我研究到現在 我想問題關鍵點應該是在 在POOL設定為 D3DPOOL_SYSTEMMEM 時
想要載入的圖片並沒有貼上去 所以才以系統預設的白色填滿
因此問題的成因 是因為POOL設定為D3DPOOL_SYSTEMMEM
所以LockRect與UnlockRect之間的動作 才無法發揮功用
這是因為圖片目前Loading在 主記憶體上 而非顯示卡記憶體上
只要我能夠把主記憶體上的資料 搬移到顯示記憶體上 就能夠正常運作??
請問我以上的推論是正確的嗎??
麻煩大家非常不好意思 但是還是拜託大家給予我指導 謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.190.21
推 moremusic:推論不對 你試著讀取貼圖的pixel值來看看 11/26 16:53
→ moremusic:應該是載入貼圖失敗 跟顯示卡記憶體無關 11/26 16:53
→ pleaselouis:可不可以請您 回答我 第1&2的問題 我真的很需要 謝謝 11/26 17:12