typedef struct D3D11_SHADER_DESC {
UINT Version; // 着色器版本号
LPCSTR Creator; // 着色器的创建者
UINT Flags; // 着色器标志
UINT ConstantBuffers; // 常量缓冲区数量
UINT BoundResources; // 绑定资源数量
UINT InputParameters; // 输入参数数量
UINT OutputParameters; // 输出参数数量
UINT InstructionCount; // 指令数量
UINT TempRegisterCount; // 临时寄存器数量
UINT TempArrayCount; // 临时寄存器数组数量
UINT DefCount; // 定义数量
UINT DclCount; // 声明数量
UINT TextureNormalInstructions; // 标准纹理指令数量
UINT TextureLoadInstructions; // 负载纹理指令数量
UINT TextureCompInstructions; // 比较纹理指令数量
UINT TextureBiasInstructions; // 纹理偏移指令数量
UINT TextureGradientInstructions;// 纹理梯度指令数量
UINT FloatInstructionCount; // 浮点指令数量
UINT IntInstructionCount; // 整数指令数量
UINT UintInstructionCount; // 无符号整数指令数量
UINT StaticFlowControlCount; // 静态流控制指令数量
UINT DynamicFlowControlCount; // 动态流控制指令数量
UINT MacroInstructionCount; // 宏指令数量
UINT ArrayInstructionCount; // 数组指令数量
UINT CutInstructionCount; // 切割指令数量
UINT EmitInstructionCount; // 发射指令数量
D3D_PRIMITIVE GSOutputTopology; // 几何着色器输出拓扑
UINT GSMaxOutputVertexCount; // 几何着色器最大输出顶点数
} D3D11_SHADER_DESC;
这个结构包含了许多与着色器相关的信息,例如版本号、创作者、标志、常量缓冲区数量、输入和输出参数数量、指令数量等。
如果你正在使用 Direct3D 11 编程,并且需要获取有关编译后的 HLSL 着色器的信息,可以使用 ID3D11ShaderReflection 接口,并使用其方法之一,例如 GetDesc,来填充一个 D3D11_SHADER_DESC 结构。
转载请注明出处:http://www.zyzy.cn/article/detail/25877/Win32 API/D3d11shader.h/D3D11_SHADER_DESC