Dx9 纹理奇怪问题。

weixin_38058520 2016-05-21 08:01:53
有一张79 x 117像素图


width = 79;
height = 117;


D3DXCreateTexture( pD3DDevice, width, height,
1,         // Mip levels
0,         // Usage
D3DFMT_A1R5G5B5,        // Format
D3DPOOL_MANAGED,        // Memory pool
&pTex ) )


创建后使用
pTex->GetLevelDesc(0, &TDesc)
TDesc.Width 为 79


但是lockrect 后Pitch 为160


问题一,D3DXCreateTexture不是自动优化吗?不应该是宽度和高度优化到128吗?如果MipLevels那里写成0会自动优化到128,但是2D游戏,不需要MIP啊。


问题二,当lockrect时候Pitch 为160,然后按每行填充像素,我的机器显示图片正确,但是在虚拟机XP系统中,那种显卡图片就不正确了,每行像素差4个BYTE那种每行错位,把pitch换成 79*2虚拟机上就没问题了,但是在我机器上又是错位,  请问大神高手们是什么问题啊?
...全文
21 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧