TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 23 READS

삼각형 5억 8천만 개를 실시간으로: 테트라헤드럴 케이지로 애니메이션 지오메트리 레이 트레이싱하기

삼각형 5억 8천만 개를 실시간으로: 테트라헤드럴 케이지로 애니메이션 지오메트리 레이 트레이싱하기
SOURCE IMAGE · HACKER NEWS

레이 트레이싱은 이미 실시간 그래픽스의 실용적 구성 요소로 자리 잡았지만, 움직이는 지오메트리(animated geometry)는 여전히 확장성 측면에서 까다로운 문제로 남아 있다. AMD GPUOpen이 소개한 논문 'Ray Tracing Massive Amounts of Animated Geometry'(Gruen 외)는 이 문제를 정면으로 다룬다. 이 논문은 High-Performance Graphics 2026에서 볼프강 슈트라서 어워드(최우수 논문) 3위를 수상했으며, 각기 다르게 변형되는 복잡한 오브젝트가 대량으로 등장하는 전형적인 프로덕션 상황을 겨냥한다.

왜 애니메이션 지오메트리가 병목이 되는가

일반적인 레이 트레이싱 파이프라인에서는 고유하게 움직이는 메시마다 매 프레임 정점(vertex)과 가속 구조(acceleration structure)를 모두 갱신해야 할 수 있다. 이 비용은 삼각형 밀도에 비례해 커지기 때문에, 빽빽한 초목이나 잔디, 군중, 크리처처럼 기하학적으로 조밀한 콘텐츠는 프레임 예산을 순식간에 소진한다. 더 큰 문제는 메모리다. 고유하게 애니메이션되는 오브젝트마다 자신만의 바운딩 볼륨 계층(BLAS)을 저장해야 하므로, 오브젝트 수가 늘어날수록 메모리 사용량이 감당하기 어려운 수준까지 치솟는다. 즉 연산 시간과 메모리라는 두 축에서 동시에 압박이 발생한다.

애니메이션 비용을 삼각형 수와 분리하다

논문의 핵심 아이디어는 애니메이션 비용을 삼각형 개수로부터 떼어내는 것이다. 모든 삼각형에 직접 변형을 적용하는 대신, 원본의 정적인 메시 주위에 저해상도의 사면체(tetrahedral) 케이지를 씌운다. 전처리 단계에서 메시는 각 사면체에 대응하는 작고 서로 겹치지 않는 조각들로 분할되고, 이 조각들에 대해서는 정적인 미니 BLAS를 한 번만 만들어 재사용한다. 런타임에는 오직 케이지만 애니메이션된다. 광선이 움직이는 사면체 안으로 들어오면, 해당 사면체의 기준 자세(rest-pose) 공간으로 변환되어 그 안의 정적 지오메트리와 교차 판정을 수행한다.

결과적으로 나타나는 움직임은 근사치다. 정점의 이동은 완전한 정점별 애니메이션이나 매끄러운 전역적 굽힘이 아니라, 케이지가 유도하는 조각별 선형(piecewise-linear) 변형으로 표현된다. 대신 이 구조 덕분에 같은 에셋을 서로 다른 방식으로 대량 복제해 움직일 때 큰 이점이 생긴다. 고유한 변형마다 자신만의 애니메이션 케이지는 필요하지만, 기준 자세의 미니 메시와 미니 BLAS는 모두 공유할 수 있기 때문이다. 논문은 나무, 잔디밭, 개구리 등을 예로 들며, AMD Radeon RX 9070 XT에서 1080p 기준 약 5억 8,500만 개의 움직이는 삼각형을 초당 60프레임으로 렌더링한 장면을 제시한다.

품질과 성능 사이의 선택

이 기법의 본질은 만능 해법이 아니라 '새로운 선택지'라는 점에 있다. 가속 구조 갱신, 애니메이션 연산 시간, 메모리 사용량이 병목일 때 저비용으로 쓸 수 있는 옵션을 추가한다는 것이다. 트레이드오프는 명확하다. 케이지가 거칠수록 저렴하고 가볍지만, 세밀할수록 원본 애니메이션을 더 충실히 따라간다. 따라서 이 방법은 흔들리는 초목, 잔디, 군중, 멀리 있는 캐릭터, 애니메이션 LOD처럼 연결성(topology)이 유지되는 움직임에 가장 적합하다. 반대로 토폴로지가 바뀌거나, 아주 미세한 움직임, 날카로운 캐릭터 변형이 시각적 초점인 경우에는 부적절하다.

실무자 입장에서 눈여겨볼 지점은 통합 가능성이다. 사면체 케이지 기반 애니메이션은 마이크로소프트 DirectX 레이트레이싱(DXR) 기능 명세 파트 2의 분할된 최상위 가속 구조(partitioned TLAS)와 결합할 수 있고, 클러스터 수준 가속 구조와도 공존할 수 있다. 또한 이 논문은 사면체 간접 참조를 다루되 여러 개의 하드웨어 광선을 쓰고 클리핑 단계가 없는 Luton과 Tricard(2026)의 독립적 연구와 나란히 놓인다. 서로 다른 접근이 같은 문제 공간에서 동시에 탐구되고 있다는 점은 이 방향이 특정 팀의 실험을 넘어선 흐름임을 시사한다.

정리하면, 사면체 케이지는 풍부한 애니메이션 콘텐츠와 하드웨어 가속 레이 트레이싱 사이를 잇는 실용적 다리로 제시된다. 압축된 프록시만 움직이고 정적 기준 자세 지오메트리를 재사용함으로써, 매 프레임 갱신하기엔 너무 비쌌던 장면을 실현 가능한 범위로 끌어들인다. 향후 과제는 케이지 생성과 애니메이션 품질 개선, 그리고 현대적 레이 트레이싱 파이프라인과의 통합이다. GPUOpen 측은 스킨드 오브젝트, 키프레임 애니메이션 오브젝트, 정적 오브젝트에 대해 고품질 사면체 케이지를 만들 수 있는 헤더 온리 C++ 라이브러리와 DXR 샘플을 준비 중이라고 밝혔다. 대규모 애니메이션 지오메트리를 다루는 팀이라면, 당장 도입하지 않더라도 이 근사 기법이 언제 유효한 카드가 되는지 미리 가늠해 둘 가치가 있다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://gpuopen.com/learn/ray-tracing-massive-amounts-animat...
SHARE
처리 중...