처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.07.28 27

매 프레임 BVH를 다시 짓지 않는다: 사면체 케이지로 움직이는 지오메트리 레이 트레이싱하기

Hacker News 원문 보기
매 프레임 BVH를 다시 짓지 않는다: 사면체 케이지로 움직이는 지오메트리 레이 트레이싱하기

레이 트레이싱의 숨은 비용, 가속 구조

요즘 게임에서 레이 트레이싱은 거의 기본 그래픽 옵션이 됐는데요, 사실 화면 뒤에서는 GPU가 꽤 고된 준비 작업을 하고 있거든요. 레이 트레이싱이 뭐냐면, 빛이 실제로 나아가는 경로를 광선(레이) 하나하나 쏘아서 어떤 물체에 부딪히는지 추적하는 렌더링 방식이에요. 그런데 광선 하나가 수백만 개의 삼각형 중 어떤 것과 만나는지 일일이 검사하면 답이 없기 때문에, BVH라는 가속 구조를 미리 만들어둬요. 이게 뭐냐면 삼각형들을 크고 작은 상자로 계층적으로 묶어둔 일종의 색인인데, 책에서 목차를 먼저 보고 페이지를 좁혀가듯 광선도 큰 상자부터 확인하면서 후보를 빠르게 줄여가는 거죠.

문제는 '움직이는' 지오메트리

정적인 배경이라면 BVH를 한 번 만들어두고 계속 쓰면 돼요. 문제는 캐릭터거든요. 팔을 휘두르고, 옷이 펄럭이고, 근육이 꿈틀거리는 스킨드 메시(뼈대 애니메이션에 따라 형태가 변하는 모델)는 매 프레임 삼각형 위치가 전부 바뀌어요. 색인이 가리키는 내용물이 통째로 이사를 가버리는 셈이라, BVH를 매 프레임 갱신(리핏)하거나 아예 다시 지어야(리빌드) 하죠. 캐릭터가 한두 명이면 버티겠지만, 군중 신처럼 수백 개의 모델이 동시에 움직이면 이 준비 비용이 정작 그림을 그리는 비용보다 커지는 역전 현상까지 벌어져요. 하드웨어 레이 트레이싱이 빨라져도 이 병목은 그대로 남아 있었고요.

AMD의 발상: 지오메트리 대신 광선을 변형하자

AMD GPUOpen이 소개한 접근은 발상을 뒤집어요. 고해상도 모델을 성긴 사면체(테트라헤드론) 케이지로 감싸고, 애니메이션은 이 케이지에만 적용하는 거예요. 원본 지오메트리의 BVH는 변형 전 기준 자세(레스트 포즈)로 딱 한 번만 만들어두고요. 광선이 변형된 케이지의 어떤 사면체를 통과하면, 그 사면체의 변형을 거꾸로 적용해서 광선을 기준 자세 공간으로 옮겨요. 그러면 '움직인 모델에 광선을 쏘는 문제'가 '가만히 있는 모델에 살짝 휘어진 광선을 쏘는 문제'로 바뀌거든요. 광선은 사면체를 하나씩 건너가며 구간별 직선으로 근사되고, 각 구간에서는 미리 만들어둔 정적 BVH를 그대로 재사용해요.

이 방식의 매력은 두 가지예요. 첫째, 무거운 BVH 리빌드가 사라져요. 매 프레임 갱신할 것은 사면체 케이지뿐인데, 케이지는 원본 삼각형보다 훨씬 성기니까 부담이 작죠. 둘째, 원본 지오메트리가 아무리 조밀해도 애니메이션 비용은 케이지 해상도에만 비례해요. 그래서 제목에 '대량의(massive) 애니메이션 지오메트리'라는 말이 붙은 거고요.

업계 흐름 속에서 보면

애니메이션 지오메트리와 레이 트레이싱의 궁합 문제는 업계 공통 숙제예요. 엔비디아는 지오메트리를 클러스터 단위로 쪼개 가속 구조 갱신 비용을 줄이는 방향을 밀고 있고, 언리얼의 나나이트 같은 초고밀도 지오메트리 시스템도 레이 트레이싱과 결합할 때 비슷한 벽에 부딪히거든요. 사면체 케이지는 새 하드웨어 기능 없이 소프트웨어 트릭으로 문제를 우회한다는 점에서 결이 달라요. 사실 오프라인 렌더링이나 물리 시뮬레이션에서 오래 쓰이던 자유형 변형(FFD) 아이디어를 실시간 레이 트레이싱에 이식한 셈이라, 고전 기법의 영리한 재발견이기도 하고요.

한국 개발자에게

게임 그래픽스나 렌더링 엔진을 다루는 분이라면 원문과 GPUOpen 샘플 코드를 직접 볼 가치가 충분해요. 당장 상용 엔진에 붙일 수준은 아니더라도, '가속 구조를 갱신하지 말고 광선을 변형하라'는 관점 전환 자체가 커스텀 렌더러 설계나 셰이더 최적화에 좋은 자극이 되거든요. 그래픽스 입문자에게도 BVH, 스킨드 메시, 레스트 포즈 같은 핵심 개념을 한 번에 엮어서 이해할 수 있는 훌륭한 교재고요.

정리하면, 움직이는 모델의 BVH를 매번 다시 짓는 대신 사면체 케이지로 광선을 기준 자세 공간에 데려가 정적 BVH를 재활용하는 기법이에요. 여러분 프로젝트에서는 애니메이션 캐릭터의 레이 트레이싱 비용, 어디까지 감당해보셨나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.