c++ - 在 Direct X 9.0c 中获取 LPDIRECT3DTEXTURE9 的尺寸?

标签 c++ directx

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

最佳答案

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;

关于c++ - 在 Direct X 9.0c 中获取 LPDIRECT3DTEXTURE9 的尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905624/

相关文章:

c++ - 计算字符串中的字符串

c++ - 为什么我不能返回数组?

c++ - 在 DirectX、C++ 中映射缓冲区

.net - XNA 是否有效取代 Managed Directx?

c++ - 为什么 dynamic_cast 存在?

c++ - 通过引用传递 - 运算符重载

C++ 模板函数 - 多种类型、默认值和...参数?

c# - 来自 C# 的 DirectX

c++ - 表达式 : Invalid Operator < - Can't find the error

c++ - 模块化游戏引擎 : DLL circular dependencies