[英]How to get pixel shader version and vertex shader version in c++
正如标题中提到的那样,我需要在C ++代码中获得像素着色器版本和顶点着色器版本,但是我不知道该怎么做。 有没有人可以帮助我?
在创建设备时,您要传递一个D3D_FEATURE_LEVEL
值数组,当函数成功执行时,所选功能级别将通过pFeatureLevel
指针返回。 返回的功能级别确定了视频适配器支持的最高着色器版本。
constexpr const ::std::array<::D3D_FEATURE_LEVEL, 4> feature_levels
{
::D3D_FEATURE_LEVEL_11_0
, ::D3D_FEATURE_LEVEL_11_0
, ::D3D_FEATURE_LEVEL_10_1
, ::D3D_FEATURE_LEVEL_10
};
::ID3D11Device * naked_p_device{};
::D3D_FEATURE_LEVEL selected_feature_level{};
::ID3D11DeviceContext * naked_p_device_context{};
if
(
SUCCEEDED
(
::D3D11CreateDevice
(
p_adapter
, D3D_DRIVER_TYPE_UNKNOWN
, nullptr
, creation_flags
, feature_levels.data()
, static_cast< ::UINT >(feature_levels.size())
, D3D11_SDK_VERSION
, ::std::addressof(naked_p_device)
, ::std::addressof(selected_feature_level)
, ::std::addressof(naked_p_device_context)
)
)
)
{
// inspect selected_feature_level...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.