DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 텍스처 텍스처 좌표 텍셀과 픽셀간의 직접 맵핑   [목차열람] [주소복사] [슬롯비우기]
텍셀과 픽셀간의 직접 맵핑
 
Microsoft DirectX 9.0

텍셀과 픽셀간의 직접 맵핑


스크린 위에의 픽셀에 텍셀을 직접 맵핑 하는 등, 애플리케이션에서는 보통, 장면(scene)내의 지오메트리에 텍스처를 적용할 필요가 있다. 예를 들어, 텍스처내의 텍스트를 장면(scene)내의 개체에 표시할 필요가 있는 애플리케이션을 생각한다. 텍스처내의 텍스트 정보를 분명히 표시하려면 , 텍스처를 베푸는 지오메트리가, 텍스처 필터링에 의해 무너지지 않은 텍셀을 확실히 받기 위한 어떠한 방법이 필요하다. 이것을 하지 않으면 멍하니 한 화면이 되거나 포인트 샘플 텍스처 필터링의 경우에는 엣지가 엉성해질 가능성이 있다.

Microsoft® Direct3D® 에서는, 화면과 텍스처의 필터링을 지원 하는 한편으로, 픽셀과 텍스처의 샘플링을 단일화하도록(듯이), 픽셀과 텍스처의 샘플링 규칙이 신중하게 정의되고 있다. 이 때문에, 텍스처의 텍셀을 스크린 위에의 픽셀에 직접 맵핑 하는 경우는, 어려운 작업이 필요하게 된다. 이 작업을 실시하려면 , Direct3D 에 의해, 정점에 대한 부동 소수점 텍스처 좌표가, 래스터라이저로 사용하는 정수 픽셀 좌표에 어떻게 맵핑 될까를 충분히 이해해 둘 필요가 있다.

Direct3D 에서는, 다음의 계산을 실행해, 부동 소수점 텍스처 좌표를 텍셀 주소에 맵핑 한다.

계산

이러한 공식에서,TxTy 는 수평 방향과 수직 방향의 출력 텍셀 좌표이다. uv 는, 정점에 대해서 제공되는 수평 방향과 수직 방향의 텍스처 좌표이다. MxMy 는, 현재의 밉맵 레벨에서의 수평 방향과 수직 방향의 텍셀수를 나타낸다. 설명의 후반으로는, 텍셀과 픽셀간의 수평 방향 맵핑에 대해 해설한다. 수직 방향 맵핑은 수평 방향으로 맵핑 하는 경우와 같다.

텍스처 좌표의 하한과 상한의 0.0 으로 1.0 을 이러한 공식으로 대입 하면, 텍스처 좌표 0.0 은 반복 텍스처 맵의 최초와 마지막 텍셀간의 중간점에 맵핑 된다. 텍스처 좌표 1.0 은, 현재의 보간 텍스처 맵의 마지막 텍셀과 다음의 보간 텍스처 맵간의 중간점에 맵핑 된다. 텍셀폭이 4 의 반복 텍스처로, 밉맵 레벨이 0 의 경우, 좌표 0.0 으로 1.0 은, 다음 그림이 나타내듯 맵핑 된다.

좌표의 맵핑

맵핑에 대해 이해해 두면 단순한 바이어스를 스크린 공간의 지오메트리 좌표에 적용해, 각 텍셀을 대응하는 픽셀에 강제적으로 맵핑 할 수가 있다. 예를 들어, 4 개의 옆이 있는 다각형으로, 전의 텍스처의 각 텍셀을 스크린 위에의 1 개만의 픽셀에 맵핑 하는 경우, 지오메트리 좌표로 픽셀을 강제적으로 오버랩 해, 각 텍셀의 중심을 각 픽셀의 중심으로 효과적으로 배치할 필요가 있다. 이 결과, 애플리케이션으로 많은 경우 필요한 1 대 1 맵핑이 된다.

텍셀폭이 4 의 텍스처를 픽셀 좌표 0 ~ 3 에 맵핑 하려면 , 각각 스크린 공간 좌표 –0. 5 ~ 3.5 로 텍스처 좌표 0.0 ~1.0 을 가지는 4 옆으로부터 완성되는 다각형을, 2 개의 삼각형을 기본으로 드로잉(Drawing) 한다. 예를 들어, 화면 좌표 0.0 에 있는 픽셀을 예로서 생각한다. 0.0 은 최초의 정점 (-0. 5)로부터 0.5 픽셀만 멀어진 위치 좌표에 있어, 합계폭이 4.0 인 것으로부터, 보간 텍스처의 좌표는 0.125 가 된다. 이것을 텍스처 사이즈 4 를 기본으로 스케일링 하면, 좌표는 0.5 가 된다. 바이어스를 0.5 만 줄이면 텍스처 주소가 0.0 이 된다. 이것은, 맵내의 최초의 텍셀에 완전에 대응한다.

요약 하면, 텍스처 좌표는 텍스처 맵을 양측으로 균등하게 오버랩 한다. 다음 그림은 텍셀폭이 4 의 텍스처의 맵핑을 나타내고 있다.

텍스처 좌표

픽셀 좌표는, 텍셀 좌표의 경우와 같게 정규화된다. 따라서, 정점이 렌더링처의 픽셀을 오버랩 해, 그 정점으로써 텍스처 좌표 0.0 으로 1.0 을 사용하는 경우, 픽셀과 텍셀이 일렬에 줄선다. 양쪽 모두의 사이즈가 거의 같아 적절히 정렬하고 있으면, 다음 그림이 나타내듯 이것들은 텍셀과 픽셀간에 정확하게 대응한다.

텍스처 좌표와 화면 좌표



© 2002 Microsoft Corporation. All rights reserved.
↑TOP