D3DX12_MESH_SHADER_PIPELINE_STATE_DESC 结构

对于 网格/放大着色器,可以使用 EffectPipelineStateDescription 中的数据 和D3DX12_MESH_SHADER_PIPELINE_STATE_DESC来提供所有状态。

另请参阅 CD3DX12_PIPELINE_STATE_STREAM2

有关代码示例,请参阅 网格着色器

语法

struct D3DX12_MESH_SHADER_PIPELINE_STATE_DESC
{
    ID3D12RootSignature* pRootSignature;
    D3D12_SHADER_BYTECODE         AS;
    D3D12_SHADER_BYTECODE         MS;
    D3D12_SHADER_BYTECODE         PS;
    D3D12_BLEND_DESC              BlendState;
    UINT                          SampleMask;
    D3D12_RASTERIZER_DESC         RasterizerState;
    D3D12_DEPTH_STENCIL_DESC      DepthStencilState;
    D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
    UINT                          NumRenderTargets;
    DXGI_FORMAT                   RTVFormats[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT];
    DXGI_FORMAT                   DSVFormat;
    DXGI_SAMPLE_DESC              SampleDesc;
    UINT                          NodeMask;
    D3D12_CACHED_PIPELINE_STATE   CachedPSO;
    D3D12_PIPELINE_STATE_FLAGS    Flags;
};

成员

pRootSignature

类型: ID3D12RootSignature*

定义哪些资源绑定到管道的根签名对象。

AS

类型: D3D12_SHADER_BYTECODE

包含表示放大着色器程序的数据。

MS

类型: D3D12_SHADER_BYTECODE

包含表示网格着色器程序的数据。

PS

类型: D3D12_SHADER_BYTECODE

包含表示像素着色器程序的数据。

BlendState

类型: D3D12_BLEND_DESC

描述混合状态。

SampleMask

类型: UINT

混合状态的示例掩码。

RasterizerState

类型: D3D12_RASTERIZER_DESC

描述光栅器状态。

DepthStencilState

类型: D3D12_DEPTH_STENCIL_DESC

描述深度模具状态。

PrimitiveTopologyType

类型: D3D12_PRIMITIVE_TOPOLOGY_TYPE

描述基元数据的类型和顺序。

NumRenderTargets

类型: UINT

RTVFormats 成员中呈现目标格式的数目。

RTVFormats

类型: DXGI_FORMAT

呈现器目标格式的值数组。

DSVFormat

类型: DXGI_FORMAT

深度模具格式的值。

SampleDesc

类型: DXGI_SAMPLE_DESC

指定多重采样参数。

CachedPSO

类型: D3D12_CACHED_PIPELINE_STATE

缓存的管道状态对象。 pCachedBlobCachedBlobSizeInBytes 可以分别设置为 NULL 和 0。

Flags

类型: D3D12_PIPELINE_STATE_FLAGS

例如,标志枚举常量 (指示应使用附加信息编译管道状态,以帮助调试) 。

要求

要求
标头 D3dx12.h

另请参阅