안개 색(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;
안개는 고정 함수 파이프라인 및 프로그래밍 가능한 파이프라인에 의해 다르게 적용됩니다.
- 드라이버가 D3DPMISCCAPS_FOGANDSPECULARALPHA 지원하는 경우:
- 고정 함수 파이프라인이 사용되고 D3DRS_FOGCOLOR 설정된 경우 v1.w(픽셀 셰이더)는 안개 renderstate에 설정된 값과 같습니다.
- 프로그래밍 가능한 파이프라인을 사용하는 경우 oD1.w가 꼭짓점 셰이더에 명시적으로 기록되더라도 v1.w(픽셀 셰이더)는 0과 같습니다.
- 드라이버가 D3DPMISCCAPS_FOGANDSPECULARALPHA 지원하지 않는 경우:
- 고정 함수 파이프라인이 사용되고 D3DRS_FOGCOLOR 설정된 경우 v1.w(픽셀 셰이더)는 fog renderstate에서 설정된 값과 같습니다.
- oFog가 꼭짓점 셰이더로 명시적으로 작성된 경우 v1.w(픽셀 셰이더)는 oFog와 0에서 1 사이로 고정됩니다.
- 위의 두 경우 중 어느 것도 적용되지 않으면 oD1.w가 꼭짓점 셰이더에 명시적으로 기록되더라도 v1.w(픽셀 셰이더)는 0과 같습니다.
자세한 내용은 D3DPMISCCAPS를 참조하세요.
관련 항목