C++表示我的最高着色器模型是3

Dan*_*nny 0 c++ directx shader

我试图通过使用if(caps.VertexShaderVersion < D3DVS_VERSION(i, 0)){return false;}我想要检查的着色器模型来检测我的图形卡在C++中具有的最高着色器模型是什么,但我只能达到3.

问题是我已经检查了我的显卡(Gigabyte GeForce GTX 470)并且它有DirectX 11所以不应该有Shader Model 5吗?或者我正在检查Shader模型的方式有问题吗?

小智 6

Direct3D 9,你正在使用的API,不知道Direct3D 11的存在,因此,它报告了D3D9支持的最高支持的着色器版本.