블록 게임 환경에 적용한 CPU 기반 오클루전 컬링 — AI 생성 일러스트AI 일러스트
리서치 연구

블록 게임 환경에 적용한 CPU 기반 오클루전 컬링

Software occlusion culling in Block Game

Hacker News9월 27일 발표 · 2분

블록 게임의 숨겨진 지오메트리 처리를 위해, 저자는 CPU 기반 소프트웨어 가려짐 컬링 시스템을 개발했습니다.

세 줄 요약Hacker News 원문 기반
  1. 낮은 해상도와 다단계 미포크(mipmap) 구조를 활용하여 가려진 블록을 판별하며, 약한 시스템에서도 동굴 내부에서 95% 이상의 청크 컬링 성공률과 높은 프레임 속도를 달성했습니다.
  2. 최신 고사양 GPU가 필요하거나 특정 엔진 제약으로 인해 하드웨어 가속이 어려울 때, 안정적인 고프레임을 유지할 수 있는 대안적 렌더링 기법입니다.
  3. GPU 가속 대신 CPU로 깊이 버퍼를 직접 처리하는 방식이라 구현 난이도가 매우 높으며, 복잡한 최적화 과정을 거쳤습니다.

저자는 블록 게임에서 발생하는 지하 동굴 등 숨겨진 지오메트리(hidden geometry)를 효율적으로 처리하기 위해 소프트웨어 렌더링 방식의 가려짐 컬링 솔루션을 개발했습니다. 특히, 사용 중인 시스템이 그래픽 컴퓨팅 파워가 약하고 FNA와 같은 구형 기술에 제약받아 의 비동기 기능을 활용할 수 없었기 때문에, 깊이 버퍼를 CPU에서 직접 처리하는 방식을 채택했습니다.

컬링 과정에서는 256x128 해상도로 렌더링된 깊이 버퍼(depth buffer)를 사용하며, 청크가 재구축될 때마다 '미포크(mipmap)' 체인을 구축합니다. 이 구조는 전체 청크부터 시작하여 2x2x2, 4x4x4 등 단계적인 크기의 서브청크로 나누어 오클루더를 표시하고, 이를 통해 가려진 블록을 판별하는 방식으로 작동합니다.

초기 구현 방식은 느렸으나, 변환 과정의 최적화를 거치며 성능이 크게 향상되었습니다. 원래 4x4 투영 행렬 곱셈과 역원(1/w) 계산 등을 사용하던 방식을 3x3 뷰 회전 및 가산 이동을 사용하는 방식으로 변경하여 연산을 줄였습니다. 이 최적화 덕분에 처리 시간이 150ms에서 99ms로 단축되었으며, 약한 시스템에서도 높은 프레임 속도를 유지할 수 있게 되었습니다.

용어 풀이

GPU
많은 계산을 한꺼번에 처리하는 칩. AI 학습과 실행에 가장 많이 써요.
원문Hacker News · Software occlusion culling in Block Game같은 주제 가이드 · 바로 써 보기영어 논문, 초록부터 쉽게 읽기

평일 아침 메일로 받아 보기 ›틀린 곳 알리기