다음을 통해 공유


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

추가 정보

핵심 구조체