DirectX Graphics 프로그래밍 가이드 고도의 주제 프레임 버퍼 포그(안개:fog)의 종류 포그(안개:fog) 공식   [목차열람] [주소복사] [슬롯비우기]
포그(안개:fog) 공식
 
Microsoft DirectX 9.0

포그(안개:fog) 공식


C++ 애플리케이션에서는, Microsoft® Direct3D® 로 거리에 응해 포그(안개:fog) 이펙트의 계산을 변경하는 것으로써, 포그(안개:fog)가 장면(scene)의 개체의 색에 주는 영향을 제어할 수 있다. D3DFOGMODE 열거형에는, 3 개의 포그(안개:fog) 공식을 식별하는 멤버가 포함되어 있다. 모든 식은, 애플리케이션이 설정하는 파라미터가 주어져 거리의 함수로서 포그(안개:fog) 계수를 계산한다.

선형 포그(안개:fog)

이것은 D3DFOG_LINEAR 를 사용해 설정된다.

Direct3D 선형 포그(안개:fog)의 방정식

여기서

지수 포그(안개:fog)

선형 공식과 지수 공식은, 픽셀 포그(안개:fog)와 정점 포그(안개:fog)의 양쪽 모두로 지원 되고 있다.

이것은 D3DFOG_EXP 를 사용해 설정된다.

Direct3D 지수 포그(안개:fog)의 방정식

여기서

이것은 D3DFOG_EXP2 를 사용해 설정된다.

Direct3D 지수 포그(안개:fog)의 방정식

여기서

  시스템은, 정점의 스펙큐러색의 알파 성분에 포그(안개:fog) 계수를 저장 한다. 애플리케이션으로 독자적인 변환과 조명을 실행하는 경우는, 포그(안개:fog) 계수를 수동으로 삽입해 두면 렌더링시에 시스템이 그 포그(안개:fog) 계수를 적용한다.

다음의 그림에서는, 공식의 파라미터에 공통의 값을 사용해, 이러한 공식을 그래프에 나타내고 있다.

포그(안개:fog) 공식

D3DFOG_LINEAR 는,start 에서는 1.0 으로,end 에서는 0.0 이다. 이 값은, 앞쪽 클립면 또는 뒷쪽 클립면으로부터의 상대적인 값은 아니다.

Direct3D 가 포그(안개:fog) 이펙트를 계산 할 때는, 위에의 등식의 1 개의 포그(안개:fog) 계수를 다음에 나타내는 혼합 공식에서 사용한다.

포그(안개:fog)의 계산

이 공식은, 현재의 다각형 C 의 색을 포그(안개:fog) 계수 f 에 의해 효과적으로 스케일링 해, 그 적을, 포그(안개:fog) 계수의 비트 반전에 의해 스케일링 한 포그(안개:fog)색 C 에 덧셈 한다. 결과적으로 얻을 수 있는 색값은, 포그(안개:fog)색과 원의 색의 블렌드이며, 거리의 계수이기도 하다. 이 공식은, Microsoft DirectX® 7.0 및 그 이후가 지원 하는 모든 장치에 적용된다. 종래부터의 램프 장치에 대해서는, 포그(안개:fog) 계수는 디퓨즈색성분과 스펙큐러색성분을 스케일링 해, 0.0 에서 1.0 의 범위내 (0.0 으로 1.0 을 포함한다)에 넣는다. 포그(안개:fog) 계수는, 보통, 앞쪽 클립면을 1.0 으로서 시작되어, 뒷쪽 클립면을 0.0 으로서 감소한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP