typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC {
ID3D12RootSignature *pRootSignature;
D3D12_SHADER_BYTECODE VS;
D3D12_SHADER_BYTECODE PS;
D3D12_SHADER_BYTECODE GS;
D3D12_SHADER_BYTECODE DS;
D3D12_SHADER_BYTECODE HS;
D3D12_STREAM_OUTPUT_DESC StreamOutput;
D3D12_BLEND_DESC BlendState;
UINT SampleMask;
D3D12_RASTERIZER_DESC RasterizerState;
D3D12_DEPTH_STENCIL_DESC DepthStencilState;
D3D12_INPUT_LAYOUT_DESC InputLayout;
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
DXGI_SAMPLE_DESC SampleDesc;
UINT NodeMask;
D3D12_CACHED_PIPELINE_STATE CachedPSO;
D3D12_PIPELINE_STATE_FLAGS Flags;
} D3D12_GRAPHICS_PIPELINE_STATE_DESC;
这个结构用于创建图形管线状态对象(Graphics Pipeline State Object,PSO)。下面是对一些关键成员的简要说明:
- pRootSignature: 根签名,用于指定图形管线使用的根签名。
- VS, PS, GS, DS, HS: 分别表示顶点着色器、像素着色器、几何着色器、域着色器和外壳着色器的字节码。
- BlendState: 混合状态描述。
- RasterizerState: 光栅化状态描述。
- DepthStencilState: 深度模板状态描述。
- InputLayout: 输入布局描述。
- PrimitiveTopologyType: 描述图元拓扑类型的枚举。
- RenderTarget: 渲染目标数组,表示每个渲染目标的混合状态。
- SampleDesc: 多重采样描述。
- NodeMask: 用于多 GPU 场景中指定在哪个节点上创建管线状态对象。
- Flags: 图形管线状态的标志。
这个结构的成员提供了创建图形管线状态所需的各种配置信息。创建图形管线状态对象时,你可以使用这个结构并传递给 ID3D12Device::CreateGraphicsPipelineState 方法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/25942/Win32 API/D3d12.h/D3D12_GRAPHICS_PIPELINE_STATE_DESC