DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 변환 투영 변환 W 버퍼에 유효한 투영 행렬   [목차열람] [주소복사] [슬롯비우기]
W 버퍼에 유효한 투영 행렬
 
Microsoft DirectX 9.0

W 버퍼에 유효한 투영 행렬


Microsoft® Direct3D® 에서는, 월드 행렬, 뷰 행렬, 및 투영 행렬에 의해 변환 된 정점의 W 성분을 이용해, 깊이 버퍼 또는 포그(안개:fog) 이펙트의 계산을 깊이를 베이스로 실행할 수 있다. 이러한 계산에서는, 투영 행렬을 W 로 정규화해, 월드 공간과 등가로 할 필요가 있다. 즉, 투영 행렬에 1 이 아닌 (3,4) 계수가 포함되는 경우, (3,4) 계수의 역수를 사용해 모든 계수를 스케일링 하는 것으로, 적절한 행렬을 생성 해야 한다. 대응하고 있지 않는 행렬을 사용하면 포그(안개:fog) 이펙트와 깊이 버퍼가 올바르게 적용되지 않는다. 「투영 변환이란」으로 추천 하고 있는 투영 행렬은,w 베이스의 계산에 대응하고 있다.

다음 그림은 대응하고 있지 않는 투영 행렬, 및 같은 행렬을 스케일링 해 시점과의 상대 포그(안개:fog)가 유효하게 되도록(듯이) 한 행렬을 나타내고 있다.

수학적인 식

위의 그림에서는, 모든 변수가 제로 이외의 값이다고 한다. 시점과의 상대 포그(안개:fog)의 더 자세한 정보는, 「시점으로부터의 상대 깊이와 Z 베이스의 깊이」를 참조할것. w 베이스의 깊이 버퍼링에 대해서는, 「깊이 버퍼」를 참조할것.

  Direct3D 에서는, 현재 설정되어 있는 투영 행렬을 사용해 w 베이스 깊이의 계산을 실행한다. 따라서, 애플리케이션으로 Direct3D 변환 파이프라인을 사용하지 않는 경우여도, 목적의 w 베이스 기능을 얻어오기 위해 적절한 투영 행렬을 설정해 둘 필요가 있다.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP