DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 뷰포트와 클리핑 뷰포트의 스케일링 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
뷰포트용의 D3DVIEWPORT9 구조체의 X,Y,Width,Height 멤버에 위치와 사이즈를 지정해, 렌더링 타겟 표면의 뷰포트의 위치와 크기를 정의한다. 이러한 값은, 렌더링 타겟 표면의 맨 왼쪽 위쪽으로부터의 화면 좌표이다.
Microsoft® Direct3D® 에서는, 뷰포트의 위치와 사이즈를 사용해 정점을 스케일링 해, 렌더링 하는 장면(scene)를 타겟 표면 위에의 적절한 위치에 배치한다. 내부적으로는, Direct3D 는, 각 정점에 적용하는 행렬에 이러한 값을 삽입하고 있다.
이 행렬은, 뷰포트의 사이즈 및 지정의 깊이 범위에 따라 정점을 스케일링 해, 그 정점을 렌더링 타겟 표면의 적절한 위치에 평행이동 한다. 또, 이 행렬은, y 가 하부에 증가하는 맨 왼쪽 위쪽의 스크린 원점을 반영하기 위해서 y 좌표를 반전한다. 이 행렬을 적용한 후도, 정점은 동차이다. 즉, 정점은 여전히 [x, y, z, w] 정점으로서 존재하므로, 래스터라이저에 보내기 전에 정점을 비동차에 변환 해야 한다.