알파 혼합 상태(Direct3D 9)

색의 알파 값은 투명도를 제어합니다. 알파 혼합을 사용하면 표면의 색, 재질 및 질감을 다른 표면에 투명도와 혼합할 수 있습니다.

자세한 내용은 알파 텍스처 혼합(Direct3D 9)텍스처 혼합(Direct3D 9)을 참조하세요.

C++로 작성된 애플리케이션은 D3DRS_ALPHABLENDENABLE 렌더링 상태를 사용하여 알파 투명도 혼합을 사용하도록 설정합니다. Direct3D API를 사용하면 다양한 유형의 알파 혼합이 가능합니다. 그러나 사용자의 3D 하드웨어가 Direct3D에서 허용하는 모든 혼합 상태를 지원하지 않을 수 있다는 점에 유의해야 합니다.

수행되는 알파 혼합 유형은 D3DRS_SRCBLENDD3DRS_DESTBLEND 렌더링 상태에 따라 달라집니다. 원본 및 대상 혼합 상태는 쌍으로 사용됩니다. 다음 코드 예제에서는 소스 혼합 상태를 D3DBLEND_SRCCOLOR 설정 하 고 대상 혼합 상태를 D3DBLEND_INVSRCCOLOR 설정 하는 방법을 보여 줍니다.

// This code example assumes that d3dDevice is a
// valid pointer to an IDirect3DDevice9 interface.

// Set the source blend state.
d3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);

// Set the destination blend state.

d3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);

원본 및 대상 혼합 상태를 변경하면 안개가 끼거나 먼지가 많은 분위기에서 발광 개체의 모양을 지정할 수 있습니다. instance 경우 애플리케이션이 안개 환경에서 불꽃, 강제 필드, 플라즈마 빔 또는 유사하게 빛나는 개체를 모델링하는 경우 원본 및 대상 혼합 상태를 D3DBLEND_ONE 설정합니다.

알파 혼합의 또 다른 응용 프로그램은 조명 매핑이라고도 하는 3D 장면의 조명을 제어하는 것입니다. 원본 혼합 상태를 D3DBLEND_ZERO 설정하고 대상 혼합 상태를 D3DBLEND_SRCALPHA 설정하면 원본 알파 정보에 따라 장면이 어둡게 됩니다. 원본 기본 형식은 프레임 버퍼의 내용 크기를 조정하여 적절한 경우 어둡게 하는 조명 맵으로 사용됩니다. 이렇게 하면 단색 조명 매핑이 생성됩니다.

원본 알파 혼합 상태를 D3DBLEND_ZERO 설정하고 대상 혼합 상태를 D3DBLEND_SRCCOLOR 설정하여 색 조명 매핑을 수행할 수 있습니다.

렌더링 상태