안개 색 (Direct3D 9)

픽셀 및 꼭 짓 점 안개의 안개 색은 D3DRS _ fogcolor 렌더링 상태를 통해 설정 됩니다. 렌더링 상태 값은 RGBA 색으로 지정 된 임의의 RGB 색이 될 수 있습니다. 알파 구성 요소는 무시 됩니다.

다음 c + + 예제에서는 안개 색을 흰색으로 설정 합니다.

/* For this example, the d3dDevice variable is
* a valid pointer to an IDirect3DDevice9 interface.
*/
HRESULT hr;
hr = d3dDevice->SetRenderState(
                    D3DRS_FOGCOLOR,
                    0x00FFFFFF); // Highest 8 bits are not used.
if(FAILED(hr))
    return hr;

안개는 고정 함수 파이프라인과 프로그래밍 가능 파이프라인에 의해 다르게 적용 됩니다.

  1. 드라이버가 D3DPMISCCAPS FOGANDSPECULARALPHA을 지 원하는 경우 _ :
    • 고정 함수 파이프라인을 사용 하 고 D3DRS _ fogcolor를 설정 하는 경우 v1. w (픽셀 셰이더)는 안개 renderstate에 설정 된 값과 같습니다.
    • 프로그래밍 가능한 파이프라인을 사용 하는 경우 oD1는 꼭 짓 점 셰이더에 명시적으로 작성 된 경우에도 v1. w (픽셀 셰이더)가 0과 같습니다.
  2. 드라이버가 D3DPMISCCAPS FOGANDSPECULARALPHA을 지원 하지 않는 경우 _ :
    • 고정 함수 파이프라인을 사용 하 고 D3DRS _ fogcolor를 설정 하는 경우 v1. w (픽셀 셰이더)는 안개 renderstate에 설정 된 값과 같습니다.
    • OFog이 꼭 짓 점 셰이더에 명시적으로 작성 된 경우 v1. w (픽셀 셰이더)는 oFog, 고정는 0에서 1 사이입니다.
    • 위의 두 경우 모두 적용 되는 경우에는 oD1이 꼭 짓 점 셰이더에 명시적으로 작성 된 경우에도 v1. w (픽셀 셰이더)는 0과 같습니다.

자세한 내용은 D3DPMISCCAPS를 참조 하세요.

안개 형식