DirectX Graphics 프로그래밍 가이드 Direct3D 의 기초지식 3D 좌표계와 지오메트리 래스터화 규칙   [목차열람] [주소복사] [슬롯비우기]
래스터화 규칙
 
Microsoft DirectX 9.0

래스터화 규칙


정점으로 지정된 점은 스크린 위에의 픽셀과 정확하게 일치하지 않는 것이 많다. 이 경우, Microsoft® Direct3D® 는 삼각형 래스터화 규칙을 적용해, 어느 픽셀이 주어진 삼각형에 적용시킬까를 결정한다.

삼각형 래스터화 규칙

Direct3D 에서는, 지오메트리를 전부 칠하는데, 좌상 필링 변환을 사용한다. 이 규칙은, Microsoft Windows® Graphics Device Interface (GDI) 및 OpenGL 의 직사각형에 사용하는 규칙과 같다. Direct3D 에서는, 픽셀의 중심이 중요한 포인트이다. 픽셀의 중심이 삼각형의 내부에 있는 경우, 그 픽셀은 그 삼각형의 일부이다. 픽셀의 중심은 정수 좌표에 있다.

여기서 설명하는, Direct3D 의 삼각형 래스터화 규칙이, 이용 가능한 모든 하드웨어에 들어맞는다고는 할 수 없다. 현재의 하드웨어를 조사해 보면, 이 규칙의 처리에 대해 약간의 차이가 발견되는 일도 있다.

다음 그림은 좌상의 모퉁이가 (0, 0)로 우하의 모퉁이가 (5, 5)의 직사각형을 나타내고 있다. 이 직사각형은, 예상되는 대로 25 픽셀을 차지하고 있다. 직사각형의 폭은, 오른쪽에서 왼쪽을 뺄셈 한 값으로 정의된다. 높이는, 아래에서 위를 뺄셈 한 값으로 정의된다.

6 개의 행과 열에 분할되어 번호 붙이고 된 정방형

좌상 필링 변환의,와는 수평 스팬의 수직 위치를 나타내,왼쪽과는 있는 스팬내의 픽셀의 수평 위치를 나타낸다. 수평 이외의 옆은, 위에의옆은 아니다. 일반적으로, 대부분의 삼각형은 왼쪽의 옆과 오른쪽의 옆만을 갖는다.

2 개의 삼각형을 포함한 번호 붙이고 된 정방형

좌상 필링 변환에 의해, 삼각형이 픽셀의 중심을 통과 할 때의 Direct3D 의 처리가 정해진다. 다음 그림은 정점이 (0, 0), (5, 0), (5, 5)의 삼각형과 정점이 (0, 5), (0, 0), (5, 5)의 삼각형을 나타내고 있다. 이 경우, 전자의 삼각형은 15 픽셀 (흑으로 표시)을 차지하지만, 후자의 삼각형은 10 픽셀 (회색으로 표시) 밖에 차지하지 않는다. 공유하고 있는 옆이 전자의 삼각형의 왼쪽의 옆이니까이다.

대각선을 포함한 번호 붙이고 된 정방형

예를 들어, 좌상의 모퉁이가 (0.5, 0.5)로 우하의 모퉁이가 (2.5, 4.5)의 직사각형을 4 개의 삼각형 (T, B, L, R)으로 정의하는 경우, 이 직사각형의 중심점은 (1.5, 2.5)이 된다. Direct3D 래스터라이저로 이 직사각형을테세레이트하면, 각 픽셀의 중심은 분명하게 4 개의 삼각형의 각각의 내부에 존재해, 좌상 필링 변환은 불필요하게 된다. 다음의 그림에 이것을 나타낸다. 직사각형 내부에 있는 픽셀에는, Direct3D 가 그 픽셀에 넣는 삼각형에 대응한 라벨을 붙이고 있다.

4 개의 삼각형에 분할된 직사각형을 포함한 번호 붙이고 된 정방형

위에의 예의 직사각형을 좌상의 모퉁이가 (1.0, 1.0), 우하의 모퉁이가 (3.0, 5.0), 중심점이 (2.0, 3.0)가 되도록(듯이) 이동 하면, Direct3D 는 좌상 필링 변환을 적용한다. 다음 그림이 나타내듯 이 직사각형 내부의 픽셀의 대부분은, 2 개 이상의 삼각형의 사이의 경계를 걸친다.

4 개의 삼각형에 분할된 직사각형을 포함한 번호 붙이고 된 정방형

어느 쪽의 직사각형도, 같은 픽셀에 의해 표현된다.

4 개의 삼각형에 분할된 직사각형을 포함한 번호 붙이고 된 정방형

포인트와 라인의 규칙

포인트는 포인트 스프라이트와 같게 렌더링 된다. 즉, 스크린에 정렬한 사변형으로서 렌더링 되어 다각형 렌더링과 같은 규칙이 적용된다.

anti-aliasing 하고 있지 않는 라인의 렌더링 규칙은, GDI 의 렌더링 규칙과 완전히 같이이다.

anti-aliasing 한 라인의 렌더링의 더 자세한 정보는, 「ID3DXLine 」를 참조할것.

포인트 스프라이트의 규칙

포인트 스프라이트 및 패치 기본도형를 래스터화하는 경우, 우선 그 기본도형를 삼각형에 테세레이트 해, 그 삼각형을 래스터화한 것처럼 된다. 더 자세한 정보는, 「포인트 스프라이트」를 참조할것.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP