C ++表示我最高的着色器模型是3 [英] C++ indicates my highest Shader Model is 3

查看:74
本文介绍了C ++表示我最高的着色器模型是3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过使用 if(caps.VertexShaderVersion< D3DVS_VERSION(i,0)){return false;} 我是要检查的着色器模型,但我最多只能得到3。

I'm trying to detect what's the highest Shader Model my Graphics Card has in C++ by using if(caps.VertexShaderVersion < D3DVS_VERSION(i, 0)){return false;} where i is the shader model I want to check, but I can only get it up to 3.

问题是我检查了我的图形卡(技嘉GeForce GTX 470),它具有DirectX 11,所以它不应该具有Shader Model 5吗?还是我检查着色器模型的方式有问题?

The problem is I've checked my Graphics Card (Gigabyte GeForce GTX 470) and it has DirectX 11 so shouldn't it have Shader Model 5? Or is there something wrong with the way I'm checking the Shader Model?

推荐答案

Direct3D 9,这是您要使用的API重新使用时,由于不知道Direct3D 11的存在,因此,它报告了D3D9支持的最高着色器版本。

Direct3D 9, which is the API you're using, is not aware of Direct3D 11's existence, therefore, it reports the highest supported shader version supported in D3D9.

这篇关于C ++表示我最高的着色器模型是3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆