본문 바로가기

카테고리 없음

Back Face Culling

Back Face Culling (후면 선별)

 : 뒤쪽(시점에서 멀어지는 쪽)을 향한 면을 제외시키는 것.

  기본도형 중 면(face)이라는 개념이 유효한 것은 삼각형 뿐이므로, 삼각형에만 적용된다.

 

주어진 삼각형이 전면인지 후면인지는 래스터화기가 받는 삼각형 정점들이 감긴 방향에 의해 결정된다.

 

삼각형의 감긴 방향

 

D3D11_RASTERIZER_DESC  tDesc;

 tDesc.CullMode = eCull;
 tDesc.FrontCounterClockwise = bFrontCounterClockwise;

 

 

1. FrontCounterClockwise

 : 시계 방향을 전면으로 할 것인지 반시계 방향을 전면으로 할 것인지 정한다. 즉 기본도형의 어느 쪽이 전면이고 어느 쪽이 후면인지를 결정하는 것이다. 보통 시계 방향을 전면으로 둔다.

 

2. CullMode

 : 전면과 후면 중 어떤 것을 선별할지 정한다.

typedef
enum D3D11_CULL_MODE
    {
        D3D11_CULL_NONE       = 1,
        D3D11_CULL_FRONT      = 2,
        D3D11_CULL_BACK       = 3
    }   D3D11_CULL_MODE;

 

보통 디폴트값으로 D3D11_CULL_BACK으로 설정한다.

 원하는 효과를 얻기 위해 하나의 기하구조를 CullMode를 달리 두어 여러번 렌더링하는 알고리즘들도 많이 있다.