텍스처 스테이지 스테이트
텍스처 스테이지 스테이트는, 텍스처 좌표의 생성, 및 랩핑 모드등의 텍스처 좌표의 스테이트를 제어한다.
C++ 로 기술한 애플리케이션에서는,IDirect3DDevice9::SetTextureStageState 메서드를 호출해, 텍스처 관련 렌더링 스테이트의 특성을 제어한다. D3DTEXTURESTAGESTATETYPE 열거형은, 가능한 모든 텍스처 관련 렌더링 스테이트를 지정한다. 애플리케이션에서는,D3DTEXTURESTAGESTATETYPE 열거의 값을 제 1 인수로서 IDirect3DDevice9::SetTextureStageState 메서드에 건네준다.
애플리케이션에서는,IDirect3DDevice9::SetTexture 메서드를 호출해 스테이지의 텍스처를 설정한다.
SetTextureStageState
현재, SetTextureStageState 는 다음의 스테이트를 설정한다.
- 고정 기능에 의한 정점 처리 스테이트. 이러한 스테이트는 텍스처 좌표의 조작을 제어한다. D3DTSS_TEXTURETRANSFORMFLAGS 및 D3DTSS_TEXCOORDINDEX. 각각 8 개까지 설정할 수 있다 (항상 8 개의 텍스처 좌표가 지원 되고 있기 (위해)때문에).
- 고정 기능 픽셀 셰이더 스테이트 (종래의 TextureStageState). D3DTSS_COLOROP, D3DTSS_ALPHAOP, D3DTSS_COLORARG0, D3DTSS_COLORARG1, D3DTSS_COLORARG2, D3DTSS_ALPHAARG0, D3DTSS_ALPHAARG1, D3DTSS_ALPHAARG2, D3DTSS_BUMPENVMAT00, D3DTSS_BUMPENVMAT01, D3DTSS_BUMPENVMAT10, D3DTSS_BUMPENVMAT11, D3DTSS_BUMPENVLSCALE, D3DTSS_BUMPENVLOFFSET, 및 D3DTSS_RESULTARG. 이것들은, 최대로, MaxTextureBlendStages 로 지정된 수까지 설정할 수 있다.
D3DTSS_TEXCOORDINDEX 는 고정 기능 정점 처리 스테이트이다. 프로그래밍 가능한 정점 셰이더가 사용되고 있는 경우, 이 스테이트는 무시된다.
애플리케이션으로 사용 가능한 텍스처 샘플러의 수는 픽셀 셰이더의 버전에 의해 정해진다.
- 고정 기능 픽셀 셰이더: MaxTextureBlendStages 또는 MaxSimultaneousTextures 로 지정되고 있는 수의 텍스처 샘플러.
- ps_1_1 ~ ps_1_3: 4 개의 텍스처 샘플러.
- ps_1_4: 6 개의 텍스처 샘플러.
- ps_2_0: 16 개의 텍스처 샘플러.
- Microsoft® DirectX® 9.0 의 디스플레이스먼트 맵핑을 지원 하고 있는 장치는, 추가의 샘플러 (D3DDMAPSAMPLER)도 지원 할 수 있다. 이 샘플러는, 테설레이션 유니트내의 디스플레이스먼트 맵을 샘플링 한다.
텍스처 혼합의 더 자세한 정보는, 「텍스처 혼합」을 참조할것.