DirectX Graphics 프로그래밍 가이드 고정 기능 파이프라인 텍스처 텍스처 좌표 텍스처 좌표 포맷 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Microsoft® Direct3D® 의 텍스처 좌표에는, 1, 2, 3, 또는 4 개의 부동 소수점 요소를 포함해, 다양한 크기의 텍스처를 처리할 수 있다. 1D 텍스처 (크기가 1 × n 텍셀의 텍스처 표면)의 경우는, 1 개의 텍스처 좌표로 처리된다. 가장 일반적인 2D 텍스처의 경우는, 보통 u 와 v 로 불리는 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;