ID3D11ShaderReflection 接口 (d3d11shader.h)

着色器反射接口访问着色器信息。

继承

ID3D11ShaderReflection 接口继承自 IUnknown 接口。 ID3D11ShaderReflection 还具有以下类型的成员:

方法

ID3D11ShaderReflection 接口包含以下方法。

 
ID3D11ShaderReflection::GetBitwiseInstructionCount

获取按位指令的数目。 (ID3D11ShaderReflection.GetBitwiseInstructionCount)
ID3D11ShaderReflection::GetConstantBufferByIndex

ID3D11ShaderReflection::GetConstantBufferByIndex (d3d11shader.h) 方法按索引获取常量缓冲区。
ID3D11ShaderReflection::GetConstantBufferByName

按名称获取常量缓冲区。 (ID3D11ShaderReflection.GetConstantBufferByName)
ID3D11ShaderReflection::GetConversionInstructionCount

获取转换指令的数目。 (ID3D11ShaderReflection.GetConversionInstructionCount)
ID3D11ShaderReflection::GetDesc

获取着色器说明。 (ID3D11ShaderReflection.GetDesc)
ID3D11ShaderReflection::GetGSInputPrimitive

获取 geometry-shader input-primitive 说明。 (ID3D11ShaderReflection.GetGSInputPrimitive)
ID3D11ShaderReflection::GetInputParameterDesc

获取着色器的输入参数说明。 (ID3D11ShaderReflection.GetInputParameterDesc)
ID3D11ShaderReflection::GetMinFeatureLevel

获取最低功能级别。 (ID3D11ShaderReflection.GetMinFeatureLevel)
ID3D11ShaderReflection::GetMovcInstructionCount

获取 Movc 指令的数目。 (ID3D11ShaderReflection.GetMovcInstructionCount)
ID3D11ShaderReflection::GetMovInstructionCount

获取 Mov 指令的数目。 (ID3D11ShaderReflection.GetMovInstructionCount)
ID3D11ShaderReflection::GetNumInterfaceSlots

获取着色器中的接口槽数。 (ID3D11ShaderReflection.GetNumInterfaceSlots)
ID3D11ShaderReflection::GetOutputParameterDesc

获取着色器的输出参数说明。 (ID3D11ShaderReflection.GetOutputParameterDesc)
ID3D11ShaderReflection::GetPatchConstantParameterDesc

获取着色器的修补程序常量参数说明。
ID3D11ShaderReflection::GetRequiresFlags

获取一组指示着色器要求的标志。 (ID3D11ShaderReflection.GetRequiresFlags)
ID3D11ShaderReflection::GetResourceBindingDesc

获取资源如何绑定到着色器的说明。 (ID3D11ShaderReflection.GetResourceBindingDesc)
ID3D11ShaderReflection::GetResourceBindingDescByName

获取资源如何绑定到着色器的说明。 (ID3D11ShaderReflection.GetResourceBindingDescByName)
ID3D11ShaderReflection::GetThreadGroupSize

检索着色器的线程组网格的 X、Y 和 Z 维度的大小(以线程为单位)。 (ID3D11ShaderReflection.GetThreadGroupSize)
ID3D11ShaderReflection::GetVariableByName

按名称获取变量。 (ID3D11ShaderReflection.GetVariableByName)
ID3D11ShaderReflection::IsSampleFrequencyShader

指示着色器是否为采样频率着色器。 (ID3D11ShaderReflection.IsSampleFrequencyShader)

注解

可以使用 D3DReflect 为着色器检索 ID3D11ShaderReflection 接口。 以下代码演示如何从着色器检索 ID3D11ShaderReflection

pd3dDevice->CreatePixelShader( pPixelShaderBuffer->GetBufferPointer(),
                               pPixelShaderBuffer->GetBufferSize(), g_pPSClassLinkage, &g_pPixelShader );

ID3D11ShaderReflection* pReflector = NULL; 
D3DReflect( pPixelShaderBuffer->GetBufferPointer(), pPixelShaderBuffer->GetBufferSize(), 
            IID_ID3D11ShaderReflection, (void**) &pReflector);

要求

要求
最低受支持的客户端 Windows 7 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d3d11shader.h

请参阅

IUnknown

着色器接口