- 개요
게임은 실시간으로 빠르게 렌더링을 처리해야 하므로
시선에 보이지 않는 메시의 뒷면은 그리지 않고 건너뛰는 것이 효과적이다
위와 같이 카메라에서 보이지 않는 메시의 뒷면을 생략하는 기법을 백페이스 컬링이라고 한다
이때 백페이스 컬링은 메시의 삼각형을 구성하는 세 정점의 외적을 활용하여 구현할 수 있다
- 백페이스 컬링의 구현

메시를 구성하는 삼각형의 세 점을 지정하는 인덱스 버퍼에는 점의 순서가 나열되어 있다
이를 활용하면 삼각형의 방향을 지정하지 않아도 외적을 사용하여 삼각형이 향하는 방향을 파악할 수 있다

첫 번째 삼각형에서는 정점이 시계 방향으로 나열되어 있으므로 삼각형의 면의 방향은 지면의 뒤편을 향한다
두 번째 삼각형에서는 정점이 반시계 방향으로 나열되어 있으므로 면의 방향은 지면을 향할 것이다
위와 같은 상황에서 삼각형의 면의 방향과 카메라의 시선 방향을 대조하여
서로 마주보면 삼각형을 그리고, 같은 방향을 바라보면 그리기를 생략하는 것이 백페이스 컬링의 원리이다
- 백페이스 컬링의 수식

삼각형을 구성하는 세 개의 점을 각각 p0, p1, p2라고 할 때
세 개의 점으로 두 개의 벡터를 만들고 외적을 사용하면 삼각형의 면이 향하는 법선 벡터를 계산할 수 있다

삼각형의 면이 카메라와 마주보는지를 판단하기 위해서는 내적을 사용하여 계산할 수 있다
뷰 공간에서 카메라의 시선 방향은 -Z 축이므로 (0, 0, -1)과 면의 방향 벡터를 내적하였을 때
계산 결과가 음수라면 두 개의 벡터는 서로 반대 방향을 의미하므로 해당 면은 그리면 된다
'수학 > 이득우의 게임 수학' 카테고리의 다른 글
| 삼중곱 (0) | 2026.05.13 |
|---|---|
| 로드리게스 회전 (0) | 2026.05.06 |
| 외적의 활용 (4) - 회전행렬의 생성 (0) | 2026.04.29 |
| 외적의 활용 (3) - 좌우 방향 판별 (0) | 2026.04.01 |
| 외적의 활용 (2) - 법선 벡터 (0) | 2026.04.01 |