RasterizerStateMesh
정점을 처리하는 기하처리 단계에서 정점을 입력받아 단편(fragment)들을 출력한다.
각 픽셀의 정보들을 클립공간에서 표현한 것이다.
뷰포트 변환을 사용하여 클립공간에서의 정점의 위치와 렌더타겟에서의 픽셀의 위치와의 관계를 계산한다.
래스터화 스테이지는 기본도형들을 클리핑하고, 기본 도형들 내의 픽셀들을 계산하여
각 픽셀마다 단편을 생성하여 픽셀셰이더를 호출하는 기능을 수행한다.
.cpp 에서의 지정
D3D10_RASTERIZER_DESC rsdesc;
::ZeroMemory(&rsdesc, sizeof(rsdesc));
rsdesc.FillMode = D3D10_FILL_SOLID;
rsdesc.CULLMode = D3D10_CULL_BACK;
rsdesc.FrontCounterClockwise = true;
rsdesc.DepthClipEnable = true;
ID3D10RasterizerState* rasterState;
device->CreateRasterizerState(&rsdesc, &rasterState);
device->RSSetState(rasterState);
.fx 에서의 지정.
RasterizerState Culling
{
FillMode = SOLID;
CullMode = BACK;
FrontCounterClockwise = false;
};
technique10 Render
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, VS() ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, PS() ) );
//SetRasterizerState( Culling );
SetDepthStencilState( EnableDepth, 0 );
}
}
아래 사진처럼 가위판정(scissor rect)을 설정할 수도 있다.
'Study > Directx 10' 카테고리의 다른 글
D3D10_BLEND_OP Enumeration (0) | 2010.05.30 |
---|---|
D3D10_BLEND Enumeration (0) | 2010.05.30 |
x파일 로딩 (0) | 2010.05.23 |
메쉬에 맵핑 (0) | 2010.05.23 |
Texture Mapping (0) | 2010.05.23 |