자동 생성된 텍스처 좌표(Direct3D 9)

시스템은 변환된 카메라 공간 위치 또는 꼭짓점의 법선 을 텍스처 좌표로 사용하거나 입방 환경 맵을 처리하는 데 사용되는 세 가지 요소 벡터를 계산할 수 있습니다. 꼭짓점에서 명시적으로 지정하는 텍스처 좌표와 마찬가지로 자동으로 생성된 텍스처 좌표를 텍스처 좌표 변환에 대한 입력으로 사용할 수 있습니다.

자동으로 생성된 텍스처 좌표는 꼭짓점 형식의 명시적 텍스처 좌표가 필요하지 않고 기하 도형 데이터에 필요한 대역폭을 크게 줄일 수 있습니다. 대부분의 경우 시스템에서 생성하는 텍스처 좌표를 변환과 함께 사용하여 특수 효과를 생성할 수 있습니다. 물론 이것은 특별한 용도의 기능이며 여러 경우에 명시적 텍스처 좌표를 사용합니다.

자동으로 생성된 텍스처 좌표 구성

C++에서 D3DTSS_TEXCOORDINDEX 텍스처 스테이지 상태( D3DTEXTURESTAGESTATETYPE 열거 형식)는 시스템에서 텍스처 좌표를 생성하는 방법을 제어합니다.

일반적으로 이 상태는 꼭짓점 형식으로 인코딩된 특정 텍스처 좌표 집합을 사용하도록 시스템에 지시합니다. 이 상태에 할당하는 값에 D3DTSS_TCI_CAMERASPACENORMAL, D3DTSS_TCI_CAMERASPACEPOSITION 또는 D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 플래그를 포함하는 경우 시스템 동작은 매우 다릅니다. 이러한 플래그가 있는 경우 텍스처 스테이지는 시스템에서 생성하는 좌표를 위해 꼭짓점 형식 내의 텍스처 좌표를 무시합니다. 각 플래그의 의미는 다음 목록에 표시됩니다.

  • D3DTSS_TCI_CAMERASPACENORMAL

    입력 텍스처 좌표로 카메라 공간으로 변환된 꼭짓점 법선 을 사용합니다.

  • D3DTSS_TCI_CAMERASPACEPOSITION

    입력 텍스처 좌표로 카메라 공간으로 변환된 꼭짓점 위치를 사용합니다.

  • D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR

    카메라 공간으로 변환된 리플렉션 벡터를 입력 텍스처 좌표로 사용합니다. 리플렉션 벡터는 입력 꼭짓점 위치 및 일반 벡터에서 계산됩니다.

텍스처 좌표 인덱스 플래그는 상호 배타적입니다. 이 예제에서는 다음을 사용합니다.

  • 이 텍스처 스테이지의 입력 텍스처 좌표인 꼭짓점 위치(카메라 공간)입니다.
  • D3DRENDERSTATE_WRAP1 렌더링 상태에서 설정된 래핑 모드
// Assume d3dDevice is a valid pointer to an IDirect3DDevice9 interface
d3dDevice->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, 
                                   D3DTSS_TCI_CAMERASPACEPOSITION | 1);

자동으로 생성된 텍스처 좌표는 텍스처 좌표 변환을 위한 입력 값으로 가장 유용하거나 애플리케이션이 입방 환경 맵에 대한 3개 요소 벡터를 계산할 필요가 없도록 하는 데 가장 유용합니다.

구 매핑은 크롬 구에 의해 반영된 전체 환경을 포함하는 사전 계산된(모델 타임) 텍스처 맵을 사용합니다. Direct3D에는 렌더링 상태 D3DTSS_TCI_CAMERASPACENORMAL 사용하는 텍스처 좌표 생성 기능이 있습니다. 이 기능은 카메라 공간에서 꼭짓점의 정상을 사용하고 텍스처 변환을 통해 텍스처 좌표를 생성합니다.

텍스처 좌표 처리

텍스처 좌표 변환(Direct3D 9)

입방 환경 매핑(Direct3D 9)