DirectX8的纹理如何锁定与逐像素编辑?

plusSignSoft 2004-04-11 03:48:37
请问DirectX8的纹理如何锁定与逐像素编辑,以自定义Alpha值?
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gddsky 2004-04-11
  • 打赏
  • 举报
回复
http://www.gddsky.com/File/GESurface/GESurface.htm
以前做的一个小测试, 也许对你有帮助.
hourousha 2004-04-11
  • 打赏
  • 举报
回复
用LockRect得到D3DLOCKED_RECT指针。(如果想锁定整个纹理的话其余参数就都设为0)
然后从该指针的pBits成员就可以得到纹理面的首地址,然后就可以对该纹理进行逐像素编辑,要注意纹理格式,比如A8R8G8B8则每一channel就是一个Byte,每个像素是4Byte。
另外,纹理面的每一行的Texel是连续存储的,但是相邻两行的Texel不一定是连续的,所以要使用D3DLOCKED_RECT的Pitch进行换行操作,比如第一行的首指针是Byte *Texline,则第二行的首指针是(Texline+Pitch),而不一定是(Texline+4*TextureWidth),这点要注意。
hell190109 2004-04-11
  • 打赏
  • 举报
回复
关注

8,301

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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