다음을 통해 공유


멀티패스 텍스처 블렌딩(Direct3D 9)

Direct3D 애플리케이션은 여러 렌더링 패스 과정에서 기본 형식에 다양한 텍스처를 적용하여 다양한 특수 효과를 얻을 수 있습니다. 이에 대한 일반적인 용어는 멀티패스 텍스처 혼합입니다. 멀티패스 텍스처 혼합의 일반적인 용도는 여러 가지 다른 질감의 여러 색을 적용하여 복잡한 조명 및 음영 모델의 효과를 에뮬레이트하는 것입니다. 이러한 애플리케이션 중 하나를 조명 매핑이라고합니다. 자세한 내용은 텍스처(Direct3D 9) 라이트 매핑을 참조하세요.

메모

일부 디바이스는 단일 패스로 기본 형식에 여러 텍스처를 적용할 수 있습니다. 자세한 내용은 텍스처 블렌딩(Direct3D 9)참조하세요.

 

사용자의 하드웨어가 여러 텍스처 혼합을 지원하지 않는 경우 애플리케이션은 멀티패스 텍스처 블렌딩을 사용하여 동일한 시각 효과를 얻을 수 있습니다. 그러나 애플리케이션은 여러 텍스처 혼합을 사용할 때 가능한 프레임 속도를 유지할 수 없습니다.

C/C++ 애플리케이션에서 멀티패스 텍스처 혼합을 수행하려면

  1. IDirect3DDevice9::SetTexture 메서드를 호출하여 텍스처 스테이지 0에서 텍스처를 설정합니다.
  2. IDirect3DDevice9::SetTextureStageState 메서드를 사용하여 원하는 색과 알파 혼합 인수 및 연산을 선택합니다. 기본 설정은 멀티패스 텍스처 혼합에 적합합니다.
  3. 장면에서 적절한 개체를 렌더링합니다.
  4. 텍스처 스테이지 0에서 다음 텍스처를 설정합니다.
  5. 필요에 따라 원본 및 대상 혼합 요소를 조정하도록 D3DRS_SRCBLEND 및 D3DRS_DESTBLEND 렌더링 상태를 설정합니다. 시스템은 이러한 매개 변수에 따라 렌더링 대상 표면의 기존 픽셀과 새 텍스처를 혼합합니다.
  6. 3단계, 4, 5단계를 필요한 만큼 텍스처로 반복합니다.

텍스처 혼합