作者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
1F:推 moremusic:推论不对 你试着读取贴图的pixel值来看看 11/26 16:53
2F:→ moremusic:应该是载入贴图失败 跟显示卡记忆体无关 11/26 16:53
3F:→ pleaselouis:可不可以请您 回答我 第1&2的问题 我真的很需要 谢谢 11/26 17:12