Make Unreal REAL.
article thumbnail
이득우의 게임 수학

 

백페이스 컬링은 게임 등에서 최적화를 위해, 시선에 감지되지 않는 메시의 뒷면을 그리지 않는 기법이다.

 

 

인덱스 버퍼에는 삼각형 폴리곤을 구성하는 정점의 순서가 나열되어 있는데, 아래와 같다고 해보자.

 

시선의 입장에서, 좌측 폴리곤은 정점이 시계 방향으로 나열되어 있으므로 반대 방향을 향하게 되고, 우측 폴리곤은 반시계 방향으로 나열되어 있으므로 시선 방향을 보게 된다.

 

 

이때 카메라의 시선 방향과 메시가 바라보는 방향을 비교해 마주보면 그리고, 같은 방향을 바라보면 그리지 않는 것이 백페이스 컬링의 알고리즘이다.

 

 

삼각형을 이루는 세 정점 P₁, P₂, P₃로 두 개의 벡터 P₁P₂, P₁P₃를 만들고, 이 둘의 외적을 구하면 삼각형이 바라보는 면의 법선 벡터 n을 구할 수 있다.

 

 

카메라를 기준으로 하는 뷰 공간에서 카메라의 시선 방향은 -z축이므로, (0, 0, -1)과 내적한 결과가 음수(서로 방향이 다를 때)일 때만 그리면 된다.

  • 카메라의 시선 방향이 -z축인 이유는 스크린 좌표계를 데카르트 좌표계와 맞춰주기 위해 Y축을 180° 회전시켰기 때문이다.

 

 

카메라의 시선과 같은 방향을 바로보고 있는 메시의 뒷면은 그리지 않는다.

 

'게임 수학 > 이득우의 게임 수학' 카테고리의 다른 글

삼중곱(Triple product)  (0) 2023.05.12
로드리게스 회전 공식  (0) 2023.05.11
외적(Cross product)  (0) 2023.05.09
오일러 각에서의 회전 보간  (0) 2023.05.08
짐벌 락(Gimbal Lock)  (0) 2023.05.07
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그