다음을 통해 공유


가위 테스트(Direct3D 9)

가위 테스트는 렌더링 대상의 사용자 정의 사각형 하위 섹션인 가위 사각형 외부에 있는 픽셀을 컬링합니다.

가위 사각형을 사용하여 게임 월드가 그려지는 렌더링 대상의 영역을 나타낼 수 있습니다. 사각형 외부 영역은 컬링되며 게임의 GUI에 전념할 수 있습니다. 가위 테스트는 직사각형이 아닌 영역을 컬링할 수 없습니다.

가위 사각형은 렌더링 대상보다 크게 설정할 수 없지만 뷰포트보다 크게 설정할 수 있습니다.

가위 사각형은 디바이스 렌더링 상태로 관리됩니다. renderstate를 TRUE 또는 FALSE로 설정하여 가위 테스트를 사용하거나 사용하지 않도록 설정합니다. 이 테스트는 조각 색이 계산된 후 알파 테스트 전에 수행됩니다. IDirect3DDevice9::SetRenderTarget 은 가위 사각형을 뷰포트 재설정과 유사하게 전체 렌더링 대상으로 다시 설정합니다. IDirect3DDevice9::SetScissorRect는 stateblocks에 의해 기록되고, 모든 상태 설정(D3DSTATEBLOCKTYPE의 D3DSBT_ALL 값)이 있는 IDirect3DDevice9::CreateStateBlock이 기록됩니다. 가위 테스트는 디바이스 IDirect3DDevice9::Clear 작업에도 영향을 줍니다.

// Methods
HRESULT IDirect3DDevice9::SetScissorRect(CONST RECT* pRect); 
HRESULT IDirect3DDevice9::GetScissorRect(RECT* pRect); 

// New RenderState, values are TRUE or FALSE 
D3DRS_SCISSORTESTENABLE 

// New hardware cap 
D3D9CAPS.RasterCaps -> D3DPRASTERCAPS_SCISSORTEST;

기본 가위 사각형은 전체 뷰포트입니다.

가위 테스트는 다음 다이어그램과 같이 픽셀 셰이더 또는 고정 함수 파이프라인에서 픽셀 처리를 완료한 직후에 수행됩니다.

다른 단계를 기준으로 가위 테스트가 수행되는 경우의 다이어그램

픽셀 파이프라인