렌더링 대상 알파(Direct3D 9)

이제 프레임 버퍼 블렌더는 렌더링 대상에서 색 채널 혼합과 독립적으로 알파 채널을 혼합할 수 있습니다. 이 컨트롤은 D3DRS_SEPARATEALPHABLENDENABLE 새 렌더링 상태로 사용하도록 설정됩니다.

D3DRS_SEPARATEALPHABLENDENABLE FALSE (기본 조건)로 설정된 경우 알파에 적용된 렌더링 대상 혼합 요소 및 작업은 색 채널 혼합에 대해 정의된 것과 동일합니다. 드라이버는 렌더링 대상 알파 혼합을 지원할 수 있음을 나타내기 위해 D3DPMISCCAPS_SEPARATEALPHABLEND 상한을 설정해야 합니다. D3DRS_ALPHABLEND 파이프라인에 알파 혼합이 필요하다는 것을 알릴 수 있도록 해야 합니다.

렌더링 대상 블렌더의 알파 채널에서 요소를 제어하기 위해 다음과 같이 두 개의 새 렌더링 상태가 정의됩니다.

D3DRS_SRCBLENDALPHA 
D3DRS_DESTBLENDALPHA 

D3DRS_SRCBLEND 및 D3DRS_DESTBLEND 마찬가지로 D3DBLEND 열거형의 값 중 하나로 설정할 수 있습니다. 원본 및 대상 혼합 설정은 D3DCAPS9의 SrcBlendCaps 및 DestBlendCaps 멤버의 설정에 따라 여러 가지 방법으로 결합할 수 있습니다.

알파 혼합은 다음과 같이 수행됩니다.

renderTargetAlpha = (alphain * srcBlendOp) BlendOp(alphart * destBlendOp)

위치:

  • alpha는 입력 알파 값입니다.
  • srcBlendOp은 D3DBLEND의 혼합 요소 중 하나입니다.
  • BlendOp은 D3DBLENDOP의 혼합 요소 중 하나입니다.
  • alphart 는 렌더링 대상 알파 값입니다.
  • destBlendOp은 D3DBLEND의 혼합 요소 중 하나입니다.
  • renderTargetAlpha는 최종 혼합 알파 값입니다.

알파 혼합