DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 뷰포트와 클리핑 뷰포트 직사각형 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
C++ 의 뷰포트 직사각형은,D3DVIEWPORT9 구조체를 사용해 정의한다. D3DVIEWPORT9 구조체는,IDirect3DDevice9 인터페이스가 공개하는 다음의 뷰포트 조작 메서드를 사용한다.
D3DVIEWPORT9 구조체에는 X,Y,Width,Height 의 4 개의 멤버가 있다. 이것들을 사용해, 장면(scene)가 렌더링 되는 렌더링 타겟 표면 영역을 정의한다. 이러한 값은, 다음 그림이 나타내듯 목적지의 직사각형, 즉 뷰포트 직사각형에 대응한다.
D3DVIEWPORT9 구조체의 X,Y,Width,Height 멤버로 지정하는 값은, 렌더링 타겟 표면의 맨 왼쪽 위쪽으로부터의 화면 좌표이다. 이 구조체는, 장면(scene)가 렌더링 되는 깊이 범위를 나타내는 2 개의 추가 멤버 MinZ 및 MaxZ 를 정의한다.
Microsoft® Direct3D® 에서는, 뷰포트의 클리핑 볼륨의 범위는, X 방향에 대해서는 -1. 0 ~ 1.0, Y 방향에 대해서는 1.0 ~ -1. 0 으로 상정하고 있다. 이 값은, 과거의 애플리케이션으로 가장 자주(잘) 사용된 설정값이다. 투영 변환때, 클리핑을 실시하기 전에 뷰포트의 어스펙트비(가로세로 비율)을 조정할 수 있다. 이 태스크에 대해서는, 「투영 변환」으로 설명하고 있다.