닫힌 형태(속이 꽉 찬 것처럼 보이는 큐브, 캐릭터 등)는 안쪽 면이 항상 바깥쪽 면에 가려져서 카메라에 보이지 않습니다. 그런데도 그 안쪽 면까지 매번 그린다면 GPU가 아무도 안 보는 픽셀을 계산하느라 절반의 노력을 낭비하는 셈입니다. 백페이스 컬링은 각 면의 방향(법선)이 카메라를 향하는지 등지는지를 미리 판별해서, 등지고 있으면 아예 그리기 단계에서 제외해 버립니다.
이건 성능 최적화이자 동시에 함정이기도 합니다 — 얇은 평면이나 옷처럼 뒷면도 봐야 하는 오브젝트에 기본 설정(단면만 그리기)을 그대로 두면, 반대쪽에서 보는 순간 아예 사라져 버립니다. three.js의 material.side는 FrontSide(기본, 컬링 있음)·BackSide·DoubleSide(양면 다 그림, 컬링 없음) 중에서 고르게 해줍니다.
Blender·Maya·C4D의 뷰포트에도 "백페이스 컬링" 토글이 있어서, 실시간 렌더러가 실제로 어떤 면을 버리는지 미리 확인하게 해줍니다. 게임 엔진에서 벽이나 지형 안쪽처럼 절대 안 보이는 면은 아예 모델링 단계에서 지워버리는 것도 같은 이유의 최적화입니다.
언제 쓰나
실시간 성능을 아낄 때는 기본값(컬링 켜짐)을 유지하고, 천이나 얇은 판처럼 양면이 다 보여야 하면 DoubleSide로 바꾸세요.