D3D12_BLEND_DESC 구조체(d3d12.h)
혼합 상태를 설명합니다.
구문
typedef struct D3D12_BLEND_DESC {
BOOL AlphaToCoverageEnable;
BOOL IndependentBlendEnable;
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
} D3D12_BLEND_DESC;
멤버
AlphaToCoverageEnable
픽셀을 렌더링 대상으로 설정할 때 알파-검사(alpha-to-coverage)를 다중 샘플링 기술로 사용할지 여부를 지정합니다. 알파-검사 사용에 대한 자세한 내용은 Alpha-To-Coverage를 참조하세요.
IndependentBlendEnable
동시 렌더링 대상에서 독립적인 혼합을 사용할지 여부를 지정합니다. 독립적인 혼합을 사용하도록 설정하려면 TRUE 로 설정합니다. FALSE로 설정하면 RenderTarget[0] 멤버만 사용됩니다. RenderTarget[1..7]은 무시됩니다.
제한 사항은 설명 섹션을 참조하세요.
RenderTarget[8]
렌더링 대상의 혼합 상태를 설명하는 D3D12_RENDER_TARGET_BLEND_DESC 구조체의 배열입니다. 출력 병합기에 한 번에 바인딩할 수 있는 8개의 렌더링 대상에 해당합니다.
설명
D3D12_GRAPHICS_PIPELINE_STATE_DESC 개체에는 출력 병합기 단계에 의한 혼합을 제어하는 혼합 상태 구조가 포함되어 있습니다.
혼합 상태의 기본값은 다음과 같습니다.
시스템 상태 | 기본값 |
---|---|
AlphaToCoverageEnable | FALSE |
IndependentBlendEnable | FALSE |
RenderTarget[0]. BlendEnable | FALSE |
RenderTarget[0]. LogicOpEnable | FALSE |
RenderTarget[0]. SrcBlend | D3D12_BLEND_ONE |
RenderTarget[0]. DestBlend | D3D12_BLEND_ZERO |
RenderTarget[0]. BlendOp | D3D12_BLEND_OP_ADD |
RenderTarget[0]. SrcBlendAlpha | D3D12_BLEND_ONE |
RenderTarget[0]. DestBlendAlpha | D3D12_BLEND_ZERO |
RenderTarget[0]. BlendOpAlpha | D3D12_BLEND_OP_ADD |
RenderTarget[0]. LogicOp | D3D12_LOGIC_OP_NOOP |
RenderTarget[0]. RenderTargetWriteMask | D3D12_COLOR_WRITE_ENABLE_ALL |
RenderTarget 배열의 첫 번째 요소(RenderTarget[0])의 LogicOpEnable 멤버를 TRUE로 설정하면 RenderTarget[0]의 BlendEnable 멤버를 FALSE로 설정하고 이 구조체의 IndependentBlendEnable 멤버도 FALSE로 설정해야 합니다. 이는 여러 렌더링 대상에서 논리 작업을 혼합할 수 없고 논리 작업을 사용할 때 모든 렌더링 대상에 동일한 논리 작업을 적용해야 한다는 하드웨어의 제한을 반영합니다.
도우미 구조를 CD3DX12_BLEND_DESC.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3d12.h |