DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 텍스처 텍스처 좌표 텍스처 좌표 포맷   [목차열람] [주소복사] [슬롯비우기]
텍스처 좌표 포맷
 
Microsoft DirectX 9.0

텍스처 좌표 포맷


Microsoft® Direct3D® 의 텍스처 좌표에는, 1, 2, 3, 또는 4 개의 부동 소수점 요소를 포함해, 다양한 크기의 텍스처를 처리할 수 있다. 1D 텍스처 (크기가 1 × n 텍셀의 텍스처 표면)의 경우는, 1 개의 텍스처 좌표로 처리된다. 가장 일반적인 2D 텍스처의 경우는, 보통 uv 로 불리는 2 개의 텍스처 좌표에 의해 처리된다. Direct3D 에서는,큐브 환경 맵볼륨 텍스처의 2 종류의 3D 텍스처를 지원 하고 있다. 큐브 환경 맵은, 실제로는 3D 는 아니지만, 3 요소 벡터에 의해 처리된다. 더 자세한 정보는, 「큐브 환경 맵」을 참조할것.

정점 포맷」으로 설명하도록(듯이), 애플리케이션은 정점 포맷내에 텍스처 좌표를 encode 한다. 정점 포맷에는 텍스처 좌표의 복수세트를 저장 할 수 있다. D3DFVF_TEX0 ~ D3DFVF_TEX8 의 D3DFVF 를 사용해, 정점 포맷에 텍스처 좌표를 포함하지 않는가, 최대 8 개세트까지 포함하는 것을 지정한다.

각 텍스처 좌표 세트에는, 1 ~4 개의 요소를 포함할 수가 있다. D3DFVF_TEXTUREFORMAT1 ~ D3DFVF_TEXTUREFORMAT4 플래그는, 텍스처 좌표 세트내에 있는 요소의 개수를 기술하지만, 이러한 플래그는 단독으로는 사용하지 않는다. 그 대신해, 이러한 플래그는, 정점 포맷의 특정의 텍스처 좌표 세트로 사용하는 요소의 개수를 기술하는 비트 패턴을 생성 하는, 매크로 D3DFVF_TEXCOORDSIZEn 세트를 사용한다. 이러한 매크로는, 요소수를 정의하는 좌표 세트의 인덱스를 식별하는 파라미터를 1 개 받는다. 다음 예는 이러한 매크로의 사용 방법을 나타내고 있다.

// 이 정점 포맷에는, 2 개의 텍스처 좌표 세트가 포함되어 있다.
// The first set (index 0) has 2 elements, and the second set 
// has 1 element.The description for this vertex format would be: 
//     dwFVF = D3DFVF_XYZ  | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX2 |
//             D3DFVF_TEXCOORDSIZE2(0) | D3DFVF_TEXCOORDSIZE1(1); 
//
typedef struct CVF
{
    D3DVECTOR position;
    D3DVECTOR normal;
    D3DCOLOR  diffuse;
    float     u, v;   // 1st set, 2-D
    float     t;      // 2nd set, 1-D
} CustomVertexFormat;
  큐브 환경 맵과 볼륨 텍스처를 제외해, 래스터라이저에서는 3 개 이상의 요소를 사용해 텍스처를 처리할 수 없다. 애플리케이션에서는 텍스처 좌표에 최대 3 개까지 요소를 지정할 수 있지만, 이것이 가능한 것은, 텍스처가 큐브 맵 또는 볼륨 텍스처의 경우인가, D3DTTFF_PROJECTED 텍스처 변환 플래그가 사용되고 있는 경우뿐이다. D3DTTFF_PROJECTED 플래그가 사용되고 있는 경우, 래스터라이저는 최초의 2 개의 요소를 3 번째 (또는 n 번째 )의 요소로 나눗셈 한다. 더 자세한 정보는, 「텍스처 좌표 변환」을 참조할것.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP