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
TAGS.

Comments