游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1665|回复: 1

关于Pitch...关于IDirect3DTexture9::LockRect这个函数的问题

[复制链接]

66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
发表于 2007-12-8 17:55:00 | 显示全部楼层 |阅读模式
IDirect3DTexture9:ockRect这个函数原型是:

HRESULT LockRect(
  UINT Level,
  D3DLOCKED_RECT * pLockedRect,
  CONST RECT * pRect,
  DWORD Flags
);

对于pLockedRect 的 Pitch 数据SDK  的解释是
Remarks
The pitch for DXTn formats is different from what was returned in DirectX 7. It now refers to the number of bytes in a row of blocks. For example, if you have a width of 16, then you will have a pitch of 4 blocks (4*8 for DXT1, 4*16 for DXT2-5.)

意思是不是说,如果原纹理大小是1024 * 1024,我锁住了一块512*512的pLockedRect,那么这块pLockedRect的Pitch就是 4 * 512了? 那么如果要拷贝纹理数据去其他地方,这个Pitch能用吗? 我试过一次memcpy.出现了奇怪的显示啊...


66

主题

223

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2007-12-9 18:53:00 | 显示全部楼层

Re:关于Pitch...关于IDirect3DTexture9::LockRect这个函数的问题

盼解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 11:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表