有没有人知道DirectX中是否有函数来获取LPDIRECT3DTEXTURE9的尺寸?我只需要宽度和高度。如果没有,有人知道快速而肮脏的方法来实现这一目标吗?
答案 0 :(得分:1)
LPDIRECT3DTEXTURE
可能包含multiple images of different sizes。你必须指定你想要的那个。通常,0是原始大小,其他是用于优化GPU性能的mipmap。
D3DSURFACE_DESC surfaceDesc;
int level = 0; //The level to get the width/height of (probably 0 if unsure)
myTexture->GetLevelDesc(level, &surfaceDesc);
size_t size = surfaceDesc.Width * surfaceDesc.Height;