StateBlock을 사용하여 꼭짓점 상태 저장(Direct3D 9)
상태 블록을 사용하여 꼭짓점 상태만 캡처할 수 있습니다( 상태 블록 저장 및 복원 상태 참조(Direct3D 9)). 다음 상태는 꼭짓점 상태입니다.
- 꼭짓점 렌더링 상태( 꼭짓점 파이프라인: 렌더링 상태 참조).
- 꼭짓점 샘플러 상태( 꼭짓점 파이프라인: 샘플러 상태 참조).
- 꼭짓점 텍스처 상태( 꼭짓점 파이프라인: 텍스처 상태 참조).
- IDirect3DDevice9::SetNPatchMode의 NPatch 모드 세그먼트입니다.
- IDirect3DDevice9::SetLight의 각 조명과 IDirect3DDevice9::LightEnable을 사용하여 조명을 사용할 수 있는지 여부입니다.
- 현재 꼭짓점 셰이더 및 각 꼭짓점 셰이더 상수입니다.
- 각 꼭짓점 스트림에 대해 IDirect3DDevice9::SetStreamSourceFreq의 구분선 값을 저장합니다.
- 현재 꼭짓점 선언입니다.
상태 블록을 사용하여 꼭짓점 상태를 캡처하려면 IDirect3DDevice9::CreateStateBlock을 호출할 때 D3DSBT_VERTEXSTATE 지정합니다.
꼭짓점 파이프라인: 렌더링 상태
디바이스 렌더링 상태는 파이프라인의 거의 모든 부분의 동작에 영향을 줍니다. 렌더링 상태는 IDirect3DDevice9::SetRenderState를 호출하여 설정됩니다.
다음 표에는 꼭짓점 상태를 설정하는 모든 렌더링 상태가 포함되어 있습니다.
렌더링 상태 | 기본값 |
---|---|
D3DRS_CULLMODE | D3DCULL_CCW |
D3DRS_FOGCOLOR | 0 |
D3DRS_FOGTABLEMODE | D3DFOG_NONE |
D3DRS_FOGSTART | 0 |
D3DRS_FOGEND | 1 |
D3DRS_FOGDENSITY | 1 |
D3DRS_RANGEFOGENABLE | FALSE |
D3DRS_AMBIENT | 0 |
D3DRS_COLORVERTEX | TRUE |
D3DRS_FOGVERTEXMODE | D3DFOG_NONE |
D3DRS_CLIPPING | TRUE |
D3DRS_LIGHTING | TRUE |
D3DRS_LOCALVIEWER | TRUE |
D3DRS_EMISSIVEMATERIALSOURCE | D3DMCS_MATERIAL |
D3DRS_AMBIENTMATERIALSOURCE | D3DMCS_MATERIAL |
D3DRS_DIFFUSEMATERIALSOURCE | D3DMCS_COLOR1 |
D3DRS_SPECULARMATERIALSOURCE | D3DMCS_COLOR2 |
D3DRS_VERTEXBLEND | D3DVBF_DISABLE |
D3DRS_CLIPPLANEENABLE | 0 |
D3DRS_POINTSIZE | 드라이버 종속 |
D3DRS_POINTSIZE_MIN | 1 |
D3DRS_POINTSPRITEENABLE | FALSE |
D3DRS_POINTSCALEENABLE | FALSE |
D3DRS_POINTSCALE_A | 1 |
D3DRS_POINTSCALE_B | 0 |
D3DRS_POINTSCALE_C | 0 |
D3DRS_MULTISAMPLEANTIALIAS | TRUE |
D3DRS_MULTISAMPLEMASK | 0xffffffff |
D3DRS_PATCHEDGESTYLE | D3DPATCHEDGE_DISCRETE |
D3DRS_POINTSIZE_MAX | 1 |
D3DRS_INDEXEDVERTEXBLENDENABLE | FALSE |
D3DRS_TWEENFACTOR | 0 |
D3DRS_POSITIONDEGREE | D3DDEGREE_CUBIC |
D3DRS_NORMALDEGREE | D3DDEGREE_LINEAR |
D3DRS_MINTESSELLATIONLEVEL | 1 |
D3DRS_MAXTESSELLATIONLEVEL | 1 |
D3DRS_ADAPTIVETESS_X | 0 |
D3DRS_ADAPTIVETESS_Y | 0 |
D3DRS_ADAPTIVETESS_Z | 1 |
D3DRS_ADAPTIVETESS_W | 0 |
D3DRS_ENABLEADAPTIVETESSELLATION"/> | FALSE |
꼭짓점 파이프라인: 샘플러 상태
샘플러 상태는 필터링, 타일링 및 텍스처 좌표 주소 모드와 같은 샘플링 관련 topics 제어합니다. IDirect3DDevice9::SetSamplerState를 사용하여 샘플러 상태를 설정합니다(테셀레이터 단위에서 샘플 변위 맵에 사용되는 상태 포함). 샘플러 상태는 DirectX 8에서 포팅할 때 컴파일 시간 오류 검색을 사용하도록 "D3DSAMP_" 접두사로 이름이 바뀌었습니다.
다음 표에는 꼭짓점 상태를 설정하는 모든 샘플러 상태가 포함되어 있습니다.
샘플러 상태 | 기본값 |
---|---|
D3DSAMP_DMAPOFFSET | 256 |
꼭짓점 파이프라인: 텍스처 상태
텍스처 상태는 다중 텍스처 블렌더의 텍스처 혼합 작업을 제어합니다. IDirect3DDevice9::SetTextureStageState를 사용하여 텍스처 상태를 설정합니다. IDirect3DDevice9::SetTexture를 사용하여 텍스처를 샘플러 단계와 연결합니다.
다음 표에는 꼭짓점 상태를 설정하는 모든 텍스처 상태가 포함되어 있습니다.
텍스처 상태 | 기본값 |
---|---|
D3DTSS_TEXCOORDINDEX | 0 |
D3DTSS_TEXTURETRANSFORMFLAGS | D3DTTFF_DISABLE |
D3DTSS_TEXCOORDINDEX 고정 함수 꼭짓점 처리 상태입니다. 프로그래밍 가능한 꼭짓점 셰이더를 사용하는 경우 이 상태는 무시됩니다.
관련 항목