在VC ++中获取最大纹理大小

时间:2013-06-16 10:15:09

标签: c++ visual-c++

如何获得支持应用程序的GPU支持的最大纹理大小的宽度和高度?如何在Visual C ++(VS2012)中获取此信息?

1 个答案:

答案 0 :(得分:0)

问题解决了。在我的情况下D3D9,所以不是OpenGL(很抱歉没有澄清这一点)。

...
#include <d3d9.h>
#include <d3d9caps.h>

int mw, mh;
...
void CheckMaxTextureSize()
{
    IDirect3D9* d3d9;
    D3DCAPS9 caps;
    d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
    d3d9->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);
    mw = caps.MaxTextureWidth;
    mh = caps.MaxTextureHeight;
}

您可能还想终止它(但不是我的情况)。