在Directx 9.0c中获取IDIRECT3DTEXTURE9的尺寸?

时间:2010-05-25 14:34:14

标签: c++ directx

有没有人知道DirectX中是否有函数来获取LPDIRECT3DTEXTURE9的尺寸?我只需要宽度和高度。如果没有,有人知道快速而肮脏的方法来实现这一目标吗?

1 个答案:

答案 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;