C ++ indicates my highest shader model is 3

I am trying to determine what the highest shader model of my video card has in C ++ using if(caps.VertexShaderVersion < D3DVS_VERSION(i, 0)){return false;} , where I am the shader model that I want to check, but I I can get it up to 3.

The problem is that I checked my graphics card (Gigabyte GeForce GTX 470) and it has DirectX 11, so there shouldn't be a Shader Model 5? Or is there something wrong with the way I test the shader model?

0
source share
1 answer

Direct3D 9, which is the API you use, is not aware of the existence of Direct3D 11, so it reports the highest supported version of the shader supported in D3D9.

+6
source

Source: https://habr.com/ru/post/1494948/


All Articles