Booil Jung

OpenVDB

컴퓨터 그래픽스, 물리 시뮬레이션, 과학적 시각화 분야에서 볼류메트릭 데이터(volumetric data)는 연기, 구름, 불, 유체와 같은 비정형적이고 복잡한 현상을 표현하는 데 있어 핵심적인 역할을 수행한다. 이러한 데이터는 3차원 공간상의 각 지점, 즉 복셀(voxel)에 밀도, 온도, 속도와 같은 물리량을 할당함으로써 대상을 표현한다.1 전통적으로 볼류메트릭 데이터를 표현하는 가장 직관적인 방식은 밀집 그리드(dense grid) 구조였다. 이는 3차원 배열과 같이 공간 내의 모든 복셀에 대한 데이터를 명시적으로 저장하는 방식이다. 이 구조는 데이터 접근이 단순하고 빠르다는 장점을 가지지만, 치명적인 한계를 내포한다. 바로 메모리 사용량과 계산 비용이 그리드의 해상도에 기하급수적으로 비례한다는 점이다. 해상도가 각 축으로 $N$인 그리드는 총 $N^3$개의 복셀을 가지며, 해상도를 두 배로 높이면 메모리 요구량은 여덟 배로 폭증한다.2

그러나 현실 세계의 대부분 볼류메트릭 현상은 본질적으로 희소(sparse)하다. 광활한 하늘에 떠 있는 구름, 방 안에서 피어오르는 연기는 전체 공간의 극히 일부만을 차지하며, 나머지 대부분은 의미 있는 데이터가 없는 ‘빈 공간’이다. 밀집 그리드는 이러한 빈 공간을 표현하기 위해 막대한 양의 메모리를 낭비한다.5 이러한 비효율성을 극복하기 위해 다양한 희소 볼류메트릭 데이터 구조가 제안되었으나, 특히 동적인 시뮬레이션 환경에서 요구되는 유연성, 성능, 메모리 효율성을 동시에 만족시키는 것은 어려운 과제였다.

이러한 배경 속에서 등장한 OpenVDB는 희소 볼류메트릭 데이터를 다루는 방식에 근본적인 패러다임 전환을 가져온 기술이다. OpenVDB는 아카데미상 수상 경력에 빛나는 오픈소스 C++ 라이브러리로서, 희소 볼류메트릭 데이터의 효율적인 저장, 조작, 렌더링을 위한 독창적인 계층적 데이터 구조와 포괄적인 도구 모음을 제공한다.7 단순히 정적인 데이터를 저장하는 파일 포맷을 넘어, OpenVDB는 동적인 생성 및 수정(CPU 기반 코어 라이브러리), 실시간 상호작용 및 렌더링(GPU 가속을 위한 NanoVDB), 그리고 초고효율 압축 및 전송(AI 기반 NeuralVDB)에 이르는 전체 파이프라인을 아우르는 하나의 거대한 기술 생태계의 근간을 이룬다.9

OpenVDB의 핵심 철학 중 하나는 ‘사실상 무한한(effectively infinite)’ 3D 인덱스 공간의 제공이다.11 이는 단순히 매우 큰 그리드를 지원한다는 의미를 넘어선다. 기존의 많은 데이터 구조는 시뮬레이션이나 모델링을 시작하기 전에 데이터가 존재할 공간적 경계(bounding box)를 미리 정의해야 했다. 하지만 예측 불가능하게 팽창하거나 움직이는 유체, 연기와 같은 현상을 다룰 때, 이러한 정적인 경계는 창의적, 기술적 제약으로 작용했다. OpenVDB는 부호 있는 32비트 정수 좌표계를 채택함으로써 시뮬레이션 도중 데이터의 위상(topology)이 사실상 제약 없이 3차원 공간 어디로든 확장될 수 있는 자유를 부여했다.13 이는 개발자와 아티스트가 경계의 한계를 걱정하는 대신, 표현하고자 하는 현상 자체의 본질에 집중할 수 있도록 만든 근본적인 혁신이었다.

본 보고서는 OpenVDB의 탄생 배경과 기술적 발전 과정에서부터 그 핵심을 이루는 VDB 데이터 구조의 심층 분석, 메모리 효율성과 성능을 극대화하는 기법, 그리고 시각 효과(VFX) 산업을 넘어 의료, 로봇 공학, 과학 시뮬레이션 등 다양한 분야로 확장되는 응용 사례에 이르기까지 OpenVDB에 대한 포괄적이고 심도 있는 고찰을 제시하고자 한다. 이를 통해 OpenVDB가 어떻게 현대 컴퓨터 그래픽스와 시뮬레이션 기술의 지형을 바꾸었으며, 미래 기술 발전에 어떤 방향성을 제시하는지를 탐구한다.

OpenVDB의 역사는 21세기 초반, 시각 효과 산업이 직면한 기술적 난제에서 시작된다. 영화 속 시각 효과의 사실성과 스케일에 대한 관객의 기대 수준이 높아짐에 따라, 기존의 볼류메트릭 데이터 처리 기술은 한계에 부딪히고 있었다. 특히 구름, 연기, 폭발과 같은 효과를 고해상도로 구현하기 위해서는 천문학적인 양의 메모리와 계산 시간이 필요했다.14

이러한 문제를 해결하기 위해 드림웍스 애니메이션(DreamWorks Animation)의 연구개발팀 소속 켄 뮤세스(Ken Museth) 박사가 주도하여 새로운 데이터 구조의 개발에 착수했다.16 초기에는 ‘VDB’ 또는 ‘DB+Grid’라는 이름으로 알려졌던 이 기술의 핵심 목표는 명확했다: 영화 제작 환경의 극도로 까다로운 요구사항을 만족시키면서, 대규모의 동적인 희소 볼류메트릭 데이터를 효율적으로 처리하는 것이었다.16 개발팀은 기존의 밀집 그리드가 가진 메모리 비효율성을 극복하고, 시뮬레이션 과정에서 데이터의 위상이 끊임없이 변화하는 동적 특성을 원활하게 지원할 수 있는 새로운 구조를 모색했다.

VDB 기술은 이론적 탐구를 넘어, 실제 장편 애니메이션 제작 현장에서 그 가치를 즉각적으로 증명했다. 최초로 VDB가 핵심 기술로 사용된 작품 중 하나는 2011년 개봉한 ‘장화신은 고양이(Puss in Boots)’였다.16 이 영화의 클라이맥스를 장식하는 거대하고 역동적인 구름 장면은 VDB 없이는 구현이 불가능했을 것이다. 당시 사용된 VDB 볼륨은 최대 $15,000 \times 900 \times 500$ 복셀에 달하는 방대한 해상도를 가졌음에도 불구하고, VDB의 효율적인 희소 데이터 표현 덕분에 제한된 메모리 내에서 처리될 수 있었다.17

이 성공에 이어 2012년 작 ‘가디언즈(Rise of the Guardians)’에서는 VDB의 활용 범위가 더욱 확장되었다.19 영화 속 캐릭터 ‘샌드맨’이 만들어내는 금빛 모래의 환상적인 움직임과 악당 ‘피치’가 이를 악몽으로 바꾸는 어두운 모래의 역동적인 변형은 VDB를 통해 생생하게 구현되었다. 또한, 서리가 표면에 퍼져나가는 섬세한 효과 역시 VDB의 레벨셋(Level Set) 기능을 활용하여 정교하게 제어되었다.20 이처럼 연이은 성공적인 적용 사례는 VDB가 단순한 실험적 기술이 아니라, 실제 프로덕션 환경의 압박 속에서도 신뢰성 있게 작동하는 강력한 솔루션임을 입증했다.

2012년 8월 3일, 드림웍스는 VDB 기술을 ‘OpenVDB’라는 이름으로 오픈소스 커뮤니티에 공개하는 중대한 결정을 내렸다.15 이는 단순한 기술 공유를 넘어, 업계 전체의 발전을 도모하고 생태계를 구축하려는 전략적 행보였다. 드림웍스는 자사의 핵심 기술을 공개함으로써 경쟁사에게 이점을 줄 수도 있었지만, 그보다 더 큰 가치, 즉 OpenVDB가 업계 표준으로 자리 잡았을 때 얻게 될 유용성의 증가를 내다보았다.19 기술이 널리 채택되면 주요 소프트웨어와의 통합이 가속화되고, 관련 기술을 다룰 수 있는 인력풀이 넓어지며, 외부의 혁신적인 기여를 통해 기술이 더욱 빠르게 발전하는 선순환 구조가 만들어질 수 있기 때문이다.

이러한 전략은 즉각적인 성공을 거두었다. 발표 직후, 3D 애니메이션 소프트웨어의 선두주자인 사이드FX(Side Effects)는 자사의 주력 제품인 후디니(Houdini)에 OpenVDB를 전면적으로 통합하겠다고 발표했다.14 이는 OpenVDB가 업계 표준으로 나아가는 중요한 분기점이 되었다. 이후 픽사의 렌더맨(RenderMan), 오토데스크의 아놀드(Arnold) 등 주요 렌더러와 시뮬레이션 툴들이 연이어 OpenVDB를 지원하면서, OpenVDB는 명실상부한 VFX 업계의 볼류메트릭 데이터 표준으로 자리매김했다.10

OpenVDB가 산업계의 핵심 기술로 성장함에 따라, 그 거버넌스를 단일 기업이 아닌 중립적인 기관이 맡아야 할 필요성이 대두되었다. 한 기업이 주도하는 프로젝트는 해당 기업의 비즈니스 전략에 따라 개발 방향이 좌우될 수 있다는 잠재적 위험을 안고 있기 때문이다. 이러한 배경 하에, 2018년 OpenVDB는 새로 출범한 아카데미 소프트웨어 재단(Academy Software Foundation, ASWF)의 첫 번째 공식 프로젝트로 이관되었다.11

ASWF는 영화 예술 과학 아카데미(AMPAS)와 리눅스 재단(Linux Foundation)이 협력하여 설립한 조직으로, 영화 및 미디어 산업의 오픈소스 소프트웨어 개발을 지원하고 육성하는 중립적인 포럼 역할을 한다.21 OpenVDB가 ASWF의 산하로 들어가면서, 이는 더 이상 ‘드림웍스의 기술’이 아닌 ‘산업계의 공공재’로서의 위상을 확립하게 되었다. 이로써 소니 픽처스 이미지웍스, 워너 브라더스와 같은 경쟁 스튜디오를 포함한 다양한 기업과 개발자들이 안심하고 프로젝트에 기여하고 기술을 채택할 수 있는 신뢰의 기반이 마련되었다.21 이러한 중립적인 거버넌스는 OpenVDB의 장기적인 안정성과 지속 가능한 발전을 보장하며, DNEG의 OpenVDB AX, NVIDIA의 NanoVDB와 같은 혁신적인 외부 기여를 촉진하는 결정적인 계기가 되었다. 이는 기술적 이관을 넘어, VFX 산업의 협업 문화가 한 단계 성숙했음을 보여주는 상징적인 사건으로 평가된다.

OpenVDB의 탁월한 성능과 효율성은 그 근간을 이루는 독창적인 데이터 구조, 즉 VDB 트리에 기인한다. VDB는 ‘Volumetric, Dynamic grid’를 의미하며, 데이터베이스 시스템에서 널리 사용되는 B+트리의 여러 특성을 공유하도록 설계되었다.12 이 구조는 방대한 3차원 인덱스 공간을 효율적으로 표현하면서도, 동적 시뮬레이션에서 필수적인 빠른 임의 접근(random access) 성능을 보장하는 데 초점을 맞추고 있다.

VDB 트리는 전통적인 공간 분할 구조인 옥트리(Octree)와는 다른 설계 철학을 가진다. 옥트리가 공간을 재귀적으로 8개의 자식 노드로 분할하여 ‘깊고 좁은’ 트리를 형성하는 반면, VDB 트리는 B+트리처럼 ‘얕고 넓은(shallow and wide)’ 구조를 지향한다.22 이는 트리의 깊이를 4-5단계 정도로 낮게 고정하고, 대신 각 노드가 많은 수의 자식 노드를 가질 수 있도록(넓은 분기 계수) 설계되었음을 의미한다.

이러한 구조적 선택은 데이터 접근 성능에 결정적인 영향을 미친다. 깊은 트리는 특정 노드에 도달하기 위해 더 많은 단계를 거쳐야 하므로, 순회 비용이 증가한다 ($O(\log N)$). 반면, VDB의 얕은 구조는 어떤 복셀 좌표에 접근하더라도 루트 노드에서 리프 노드까지의 순회 횟수가 적고 일정하게 유지되도록 보장한다. 이로 인해 VDB는 데이터의 삽입, 삭제, 조회 시 평균적으로 상수 시간 복잡도($O(1)$)에 가까운 매우 빠른 임의 접근 성능을 달성할 수 있다.12 이는 데이터 접근 패턴이 불규칙하고 예측하기 어려운 동적 유체 시뮬레이션과 같은 응용 분야에서 특히 중요한 장점이다.

OpenVDB에서 표준으로 사용되는 4레벨 트리 구조는 다음과 같은 노드들로 구성된다.13

  1. 리프 노드 (Leaf Node, Level 0): 트리의 가장 낮은 레벨에 위치하며, 실제 복셀 데이터를 저장하는 역할을 한다. 리프 노드는 내부에 고정된 크기의 조밀한 3차원 배열(예: $8 \times 8 \times 8 = 512$ 복셀)을 가지고 있다.23 데이터가 실제로 존재하는 최소 단위 블록인 셈이다.

  2. 내부 노드 (Internal Node, Level 1, 2): 리프 노드와 루트 노드 사이에 위치하며, 공간을 계층적으로 분할하고 인덱싱하는 역할을 한다. 각 내부 노드는 하위 레벨의 노드(다른 내부 노드 또는 리프 노드)를 가리키는 포인터들로 구성된 그리드를 가진다. 이 그리드의 크기, 즉 분기 계수(branching factor)는 레벨마다 고정되어 있다. 예를 들어, 표준 구성에서 레벨 1 내부 노드는 $16 \times 16 \times 16$개의 리프 노드를 인덱싱할 수 있으며, 레벨 2 내부 노드는 $32 \times 32 \times 32$개의 레벨 1 내부 노드를 인덱싱할 수 있다.23 따라서 레벨 2 내부 노드 하나는

    $32 \times 16 \times 8 = 4096$ 복셀 크기의 거대한 공간 블록을 포괄하게 된다.

  3. 루트 노드 (Root Node, Level 3): 트리의 최상위 노드이자 모든 데이터 접근의 시작점이다. 내부 노드나 리프 노드와 달리, 루트 노드는 동적인 분기 계수를 가진다. 즉, 필요한 만큼 자식 노드(레벨 2 내부 노드)를 가질 수 있다.13 이러한 유연성 덕분에 VDB 트리는 부호 있는 32비트 정수 좌표계가 표현할 수 있는 사실상 무한한 3D 인덱스 공간을 포괄할 수 있다.

임의의 복셀 좌표 $(i, j, k)$가 주어졌을 때, 해당 위치의 값을 찾기 위해 VDB 트리는 루트 노드부터 시작하여 하위 노드로 순차적으로 탐색해 내려간다. 각 레벨의 노드에서 주어진 좌표를 지역 좌표로 변환하여 해당 자식 노드를 찾고, 이 과정을 리프 노드에 도달할 때까지 반복한다. 마지막으로 리프 노드 내의 조밀한 배열에서 최종 값을 조회한다.

이러한 순회 과정은 매번 수행될 경우 비효율적일 수 있다. 특히 공간적으로 인접한 복셀들을 연속적으로 접근할 때, 대부분 동일한 노드 경로를 공유함에도 불구하고 매번 루트부터 순회를 반복하는 것은 낭비이다. 이 문제를 해결하기 위해 OpenVDB는 ‘값 접근자(Value Accessor)’라는 핵심적인 최적화 메커니즘을 제공한다.11

값 접근자는 단순한 편의 기능이 아니라, OpenVDB의 논리적 트리 구조와 현대 CPU의 물리적 캐시 계층 구조 사이의 간극을 메우는 중요한 역할을 한다. OpenVDB의 트리 노드들은 메모리 상에 흩어져 할당될 수 있어 데이터 지역성(locality)이 낮고 캐시 미스(cache miss)를 유발하기 쉽다.25 값 접근자는 특정 복셀에 처음 접근할 때 루트에서 리프까지의 순회 경로(각 노드의 포인터)를 내부적으로 캐싱한다. 이후 인접한 복셀에 접근할 때, 만약 해당 복셀이 동일한 리프 노드나 상위 노드에 속한다면, 값 접근자는 캐시된 경로를 재사용하여 트리 순회 과정을 대부분 생략하고 데이터에 거의 직접적으로 접근한다.

이 캐싱 전략은 논리적 트리 구조의 유연성은 그대로 유지하면서, 물리적 메모리 접근 패턴을 시퀀셜하게 만들어 CPU 캐시 효율을 극대화한다. 이는 OpenVDB가 이론적인 $O(1)$ 접근 성능을 실제 하드웨어에서 구현해내는 핵심 비결이며, 순수 이론적 데이터 구조를 넘어 하드웨어 특성까지 고려한 고도의 엔지니어링의 산물임을 보여준다.

OpenVDB의 설계 철학은 희소성을 최대한 활용하여 메모리 사용량을 최소화하고 계산 성능을 극대화하는 데 있다. 이를 위해 OpenVDB는 여러 계층의 정교한 기술을 사용한다.

OpenVDB는 희소성을 두 가지 다른 개념으로 나누어 다룬다.23

  1. 구조적 희소성 (Structural Sparsity): 이는 VDB 트리의 계층 구조 자체에서 비롯된다. 데이터가 존재하지 않는 광활한 빈 공간에 대해서는 상위 레벨 노드에서 해당 자식 포인터를 생성조차 하지 않는다. 따라서 메모리는 오직 데이터가 실제로 존재하는 영역을 표현하기 위해서만 할당된다. 이는 가장 근본적인 수준의 메모리 절약 방식이다.23
  2. 데이터 값 희소성 (Data Value Sparsity): 데이터가 존재하는 영역 내에서도 값의 분포는 균일하지 않을 수 있다. 예를 들어, 구름의 내부는 밀도가 높지만, 가장자리는 밀도가 점차 0으로 감소한다. OpenVDB는 사용자가 이러한 영역을 ‘활성(active)’과 ‘비활성(inactive)’으로 구분하여, ‘흥미로운’ 데이터에만 연산을 집중할 수 있도록 지원한다. 이는 계산 효율성을 높이는 데 결정적인 역할을 한다.23

모든 복셀과 타일(균일한 값의 블록)은 ‘활성’ 또는 ‘비활성’이라는 이진 상태(binary state)를 가질 수 있다.13 이 상태의 의미는 응용 프로그램에 따라 달라지지만, 일반적으로 ‘활성’ 복셀은 시뮬레이션이나 렌더링에서 중요한 변화가 일어나는 ‘흥미로운’ 영역을, ‘비활성’ 복셀은 상대적으로 덜 중요한 배경 영역을 나타낸다. 이 활성 상태 정보는 각 노드 내부에 매우 조밀한 비트마스크(bitmask) 형태로 저장된다.13 OpenVDB는 이 비트마스크를 효율적으로 순회하는 전용 이터레이터(iterator)를 제공한다. 예를 들어, ValueOnCIter는 오직 활성 상태인 복셀들만 순차적으로 방문한다. 이는 전체 그리드를 순회하는 대신, 연산이 필요한 영역에만 계산을 집중할 수 있게 해준다.

이 메커니즘은 전통적인 볼륨 처리 알고리즘의 계산 복잡도 패러다임을 근본적으로 바꾼다. 기존의 $O(N^3)$ 복잡도를 가졌던 연산들이 OpenVDB에서는 ‘활성 복셀의 수’에 비례하는 복잡도를 가지게 된다. 예를 들어, 레벨셋(Level Set) 기법에서 표면의 움직임을 계산할 때, 전체 볼륨이 아닌 표면 주변의 좁은 밴드(narrow-band)에 위치한 활성 복셀들만 계산하면 충분하다.23 이는 계산의 범위를 데이터의 기하학적 복잡도(예: 표면의 면적)에 국한시키는 강력한 ‘계산 복잡도 제어’ 메커니즘으로 작용하며, 초고해상도 그리드에서도 상호작용에 가까운 성능을 가능하게 하는 핵심 원리다.

메모리 사용량을 더욱 줄이기 위해, OpenVDB는 데이터를 세 가지 형태로 구분하여 압축적으로 저장한다.23

이러한 다중 해상도 표현 방식은 OpenVDB가 단순한 희소 구조를 넘어, 자연스러운 LOD(Level of Detail) 특성을 내재하게 만든다. 알고리즘은 필요에 따라 계층 구조를 오르내리며, 광선이 빈 공간(배경 값)이나 균일한 안개(타일 값)를 통과할 때는 빠르게 건너뛰고, 복잡한 디테일이 있는 리프 노드에서만 상세 계산을 수행하는 등 연산량을 최적화할 수 있다.

OpenVDB의 아키텍처적 우수성은 다른 데이터 구조와의 비교를 통해 더욱 명확해진다. 아래 표는 밀집 그리드, 옥트리, OpenVDB의 주요 특징을 요약한 것이다.

특징 (Feature) 밀집 그리드 (Dense Grid) 옥트리 (Octree) OpenVDB
메모리 사용량 (희소 데이터) 매우 비효율적 ($O(N^3)$) 효율적 매우 효율적
임의 접근 속도 최상 ($O(1)$) 느림 ($O(\log N)$) 빠름 (평균 $O(1)$)
순차 접근 속도 최상 (캐시 효율적) 비효율적 (포인터 추적) 효율적 (값 접근자 사용)
동적 토폴로지 지원 비효율적 (전체 재할당) 비효율적 (트리 재구성) 매우 효율적 (노드 추가/삭제)
구현 복잡도 낮음 중간 높음

밀집 그리드는 희소 데이터에 대한 메모리 낭비가 극심하지만, 데이터 접근 속도는 가장 빠르다.3 옥트리는 희소 데이터를 효율적으로 저장하지만, 재귀적인 구조로 인해 깊이가 깊어져 임의 접근 성능이 저하되고, 동적인 데이터 변화에 대응하기 위한 트리 재구성 비용이 크다.27

반면, OpenVDB는 활성 복셀 수에 비례하는 메모리만 사용하면서도 6, 얕은 트리 구조와 값 접근자 캐싱을 통해 빠른 임의 접근 및 순차 접근 성능을 모두 달성한다.11 특히, 노드를 동적으로 추가하거나 삭제하는 방식으로 토폴로지 변화에 매우 효율적으로 대응할 수 있어 시뮬레이션에 최적화되어 있다.13

space.vdb 샘플 데이터가 $32844 \times 24702 \times 9156$라는 엄청난 바운딩 박스를 단 242 MB로 표현하는 것은 OpenVDB의 압도적인 메모리 효율성을 단적으로 보여주는 예이다.29

OpenVDB는 단순히 효율적인 데이터 구조에 그치지 않고, 이를 기반으로 볼류메트릭 데이터를 생성, 조작, 변환, 분석하기 위한 방대하고 강력한 도구 모음(toolset)을 제공한다. 이 도구들은 실제 프로덕션 환경에서 반복적으로 발생하는 문제들을 해결하기 위해 고도로 최적화되어 있다.

OpenVDB 라이브러리를 사용할 때 개발자가 주로 상호작용하는 최상위 객체는 Grid이다.23

Grid는 순수한 데이터 구조인 Tree와, 그 데이터를 해석하는 방법을 정의하는 Transform을 함께 묶는 컨테이너 역할을 한다.

GridTransform의 분리는 데이터와 그 해석을 분리하는 매우 강력한 추상화 개념이다. 이 설계 덕분에 여러 Grid 객체가 메모리 상에 있는 단 하나의 Tree 데이터를 공유하면서, 각각 다른 Transform을 가질 수 있다.23 이는 ‘인스턴싱(instancing)’을 극도로 효율적으로 만든다. 예를 들어, 하나의 정교한 구름 VDB 데이터(Tree)를 생성한 뒤, 수백 개의 Grid 객체를 만들어 각각 다른 위치, 크기, 회전 값을 가진 Transform을 할당하면, 메모리에는 단 하나의 구름 데이터만 존재함에도 불구하고 하늘 전체를 다양한 구름으로 채울 수 있다. 이는 메모리 사용량을 획기적으로 절감하고, 절차적(procedural)인 씬 구성을 용이하게 하는 핵심적인 특징이다.

OpenVDB는 표면을 암시적(implicit)으로 표현하는 레벨셋(Level Set) 기법에 특히 최적화되어 있다. 레벨셋은 어떤 함수 $\phi(x, y, z)$의 값이 0이 되는 지점들의 집합, 즉 등위면(isosurface)으로 표면을 정의하는 방식이다. 일반적으로 $\phi$는 부호 거리 필드(Signed Distance Field, SDF)로 정의되는데, 이는 공간상의 각 점에서 가장 가까운 표면까지의 거리를 나타내며, 표면의 안쪽은 음수, 바깥쪽은 양수의 부호를 가진다.30

이 방식은 표면이 찢어지거나 합쳐지는 등 위상(topology)이 복잡하게 변하는 현상을 별도의 처리 없이 자연스럽게 다룰 수 있다는 큰 장점을 가진다.31 OpenVDB는 이러한 레벨셋 기반 작업을 위해 다음과 같은 포괄적인 도구들을 제공한다.

OpenVDB는 볼륨 데이터에 대한 거의 모든 종류의 연산을 지원하는 라이브러리를 갖추고 있다.11

OpenVDB의 CSG 연산 방식은 전통적인 폴리곤 메시 기반 CSG가 가진 고질적인 문제점을 근본적으로 해결한다. 메시 기반 CSG는 두 메시가 교차하는 선을 정확하게 계산하고, 잘려진 메시의 위상을 강건하게(robustly) 재구성해야 하는 매우 복잡하고 오류가 발생하기 쉬운 과정이다.34 반면, OpenVDB는 모든 객체를 SDF라는 스칼라 필드(scalar field)로 변환한다. 이 필드 공간에서 CSG 연산은 각 복셀 위치에서의 간단한 수학 함수로 치환된다. 예를 들어, 두 SDF $\phi_A$와 $\phi_B$가 있을 때, 두 객체의 합집합에 해당하는 새로운 SDF는 단순히 $\min(\phi_A, \phi_B)$로 계산된다. 교집합은 $\max(\phi_A, \phi_B)$, 차집합은 $\max(\phi_A, -\phi_B)$로 정의된다. 이는 복잡한 기하학적 교차 판정이 아닌, 복셀 단위의 간단한 스칼라 값 비교 연산으로, 결과는 항상 수치적으로 안정적이며 위상적으로 닫힌(watertight) 형태를 보장한다. 이러한 강건함 덕분에 OpenVDB는 절차적 모델링이나 파괴(fracturing) 시뮬레이션과 같이 반복적인 CSG 연산이 필요한 분야에서 독보적인 성능을 발휘한다.11

OpenVDB는 CPU 기반의 코어 라이브러리를 중심으로 시작되었지만, 기술이 발전하고 산업의 요구사항이 변화함에 따라 그 생태계는 GPU와 AI의 영역으로 빠르게 확장되었다. 이러한 확장은 OpenVDB가 단일 기술이 아닌, 전체 프로덕션 파이프라인의 각기 다른 단계를 위한 최적화된 솔루션들의 집합체로 진화했음을 보여준다.

OpenVDB 코어 라이브러리는 동적 토폴로지를 지원하는 유연한 구조를 가지고 있지만, 포인터 기반의 복잡한 C++ 클래스 구조와 외부 라이브러리 의존성 때문에 GPU에서 직접 사용하기에는 부적합했다.10 이러한 한계를 극복하기 위해 NVIDIA는 OpenVDB의 창시자인 켄 뮤세스와 협력하여 NanoVDB를 개발하고 ASWF에 기여했다.11

NanoVDB는 OpenVDB의 경량화된 버전으로, GPU 환경에 철저히 최적화된 아키텍처를 가진다.25

볼류메트릭 데이터의 크기가 계속해서 커짐에 따라, 저장 및 전송의 효율성이 새로운 과제로 떠올랐다. 이에 NVIDIA는 AI 기술을 접목하여 NeuralVDB라는 혁신적인 솔루션을 제시했다.9

OpenVDB, NanoVDB, NeuralVDB는 서로를 대체하는 기술이 아니라, VFX 및 시뮬레이션 파이프라인의 각기 다른 단계를 위한 상호 보완적인 솔루션이다. 이들의 관계는 ‘작업 단계별 최적화’라는 명확한 방향성을 보여준다.

  1. 생성 및 편집 (CPU): 시뮬레이션을 통해 볼륨을 생성하거나 아티스트가 절차적으로 모델링하는 단계에서는 토폴로지가 끊임없이 변해야 한다. 이 단계에서는 유연성이 가장 중요한 요소이므로, 동적 토폴로지를 완벽하게 지원하는 CPU 기반의 OpenVDB 코어가 사용된다.
  2. 상호작용 및 렌더링 (GPU): 시뮬레이션이 완료되거나 모델링의 중간 결과를 실시간으로 확인해야 하는 단계에서는 빠른 시각화가 중요하다. 이 때, OpenVDB 그리드는 정적인 토폴로지를 가진 NanoVDB로 변환되어 GPU로 전송된다. 이를 통해 GPU의 막강한 병렬 처리 능력을 활용하여 실시간 레이 트레이싱과 같은 고품질 렌더링을 수행할 수 있다.38
  3. 저장 및 전송 (Disk/Network): 최종 결과물이나 시뮬레이션 캐시를 디스크에 저장하거나 네트워크를 통해 다른 아티스트에게 전송해야 할 때는 데이터 크기가 문제가 된다. 이 단계에서는 NeuralVDB를 사용하여 데이터를 극도로 압축함으로써 저장 공간과 네트워크 대역폭을 최소화한다.40

이처럼 각 기술은 특정 하드웨어(CPU, GPU, AI 가속기)와 특정 작업(편집, 렌더링, 저장)의 특성에 맞춰 데이터 구조 자체를 변환하는 고도로 전문화된 워크플로우를 형성한다. 아래 표는 VDB 생태계를 구성하는 핵심 기술들의 특징을 비교 요약한 것이다.

특징 (Feature) OpenVDB (Core) NanoVDB NeuralVDB
주요 플랫폼 CPU (다중 스레드) GPU (CUDA, OptiX 등) GPU (Tensor Core 필요)
토폴로지 동적 (읽기/쓰기) 정적 (읽기 전용) 정적 (읽기 전용)
핵심 아키텍처 포인터 기반 B+트리 선형화된 포인터 없는 트리 하이브리드 VDB-신경망
주요 사용 사례 시뮬레이션, 모델링, 데이터 생성 실시간 렌더링, 충돌 감지 데이터 압축, 저장, 전송
데이터 표현 비손실 비손실 손실 (제어 가능)

이러한 생태계의 진화는 OpenVDB가 단순한 라이브러리를 넘어, 현대 컴퓨터 그래픽스 파이프라인의 복잡한 요구사항에 대응하는 종합적인 플랫폼으로 성장했음을 명확히 보여준다.

OpenVDB는 영화 시각 효과(VFX) 분야에서 탄생했지만, 그 기술적 우수성과 범용성은 특정 산업의 경계를 넘어 다양한 과학 기술 분야로 빠르게 확산되었다. 이는 OpenVDB가 해결한 문제가 ‘사실적인 구름 만들기’와 같은 구체적인 응용을 넘어 ‘3차원 공간상의 희소하고 동적인 필드를 효율적으로 다루는 방법’이라는 더 근본적이고 추상적인 차원의 것이었기 때문에 가능했다.

VFX 산업은 OpenVDB의 성능과 안정성이 극한의 환경에서 검증된 ‘전투 시험장(battleground)’이었다. 드림웍스의 ‘장화신은 고양이’(구름), ‘가디언즈’(서리), ‘드래곤 길들이기 2’(물/얼음)와 같은 초기 성공작들을 필두로 17, 디즈니의 ‘모아나’에서 보여준 복잡한 바다 시뮬레이션, ILM의 ‘정글북’에서 구현된 사실적인 털과 식생 표현에 이르기까지, OpenVDB는 수많은 블록버스터 영화 제작에 핵심적인 역할을 수행했다.43 현재 OpenVDB는 사실상 모든 주요 VFX 스튜디오에서 채택한 업계 표준 기술로, 복잡한 볼류메트릭 효과 제작에 없어서는 안 될 필수 도구로 자리 잡았다.8 VFX 산업의 극도로 높은 사실성 요구, 거대한 데이터 스케일, 그리고 엄격한 제작 마감일은 OpenVDB를 다른 어떤 분야보다도 강도 높게 단련시켰고, 그 결과물은 다른 산업이 즉시 활용할 수 있는 매우 안정적이고 고도화된 기술이 되었다.

OpenVDB의 동적 토폴로지 지원과 빠른 임의 접근 성능은 물리 기반 시뮬레이션 분야에서 특히 빛을 발한다. 유체 역학(Computational Fluid Dynamics, CFD), 파괴 시뮬레이션, 연소 현상 등은 모두 시뮬레이션 도중 객체의 형태와 분포가 예측 불가능하게 변하는 특징을 가진다. OpenVDB는 이러한 변화에 유연하게 대응하며, 특히 후디니(Houdini)와 같은 절차적(procedural) 3D 소프트웨어에 깊숙이 통합되어 시뮬레이션 워크플로우의 핵심적인 부분을 담당하고 있다.5 아티스트와 연구자들은 OpenVDB를 사용하여 이전에는 불가능했던 규모와 디테일의 시뮬레이션을 수행하고, 그 결과를 효율적으로 저장 및 렌더링할 수 있게 되었다.

천문학, 기후 과학, 분자 동역학 등 현대 과학 연구는 페타바이트(petabyte) 규모에 달하는 거대한 데이터셋을 생성한다. 이러한 데이터를 분석하고 이해하기 위해서는 효율적인 시각화가 필수적이다. OpenVDB의 메모리 효율적인 희소 데이터 표현 방식은 이러한 대규모 과학 데이터셋을 다루는 데 이상적인 솔루션을 제공한다.47 연구자들은 OpenVDB를 활용하여 전체 데이터셋을 다운샘플링하지 않고도 관심 영역을 고해상도로 탐색하고, 시뮬레이션 결과를 상호작용적으로 시각화할 수 있다.49 ParaView와 같은 전통적인 과학 시각화 도구에서도 OpenVDB 지원에 대한 논의가 이루어지고 있으며 50, 이는 OpenVDB가 과학 연구의 패러다임을 바꿀 잠재력을 가지고 있음을 시사한다.

의료 영상 분야에서 CT나 MRI 스캔으로 얻어지는 DICOM 데이터는 본질적으로 3차원 볼류메트릭 데이터이다. OpenVDB는 이러한 의료 데이터를 3차원 볼륨으로 변환하여 시각화하고 분석하는 데 강력한 도구로 활용되고 있다.51 의사들은 OpenVDB를 통해 2차원 단층 이미지를 넘어 3차원 공간에서 장기와 혈관, 종양의 구조를 직관적으로 파악할 수 있다. 특히, 시간에 따른 종양의 성장 과정을 시뮬레이션하고 시각화하는 연구에서 OpenVDB는 복잡한 형태 변화를 효율적으로 추적하고 표현하는 데 사용된다.51 더 나아가, AI와 결합된 NeuralVDB는 방대한 의료 영상 데이터 아카이브를 극도로 압축하여 저장하고, AI 기반 진단 모델 개발에 활용될 새로운 가능성을 열고 있다.39

자율적으로 환경을 탐색하고 상호작용해야 하는 로봇에게 3차원 환경을 인식하고 지도를 구축하는 것은 핵심적인 기술이다. 로봇 공학 분야에서는 LiDAR나 깊이 센서로부터 얻은 포인트 클라우드 데이터를 실시간으로 3차원 점유 격자 맵(occupancy grid map)으로 통합하는 데 OpenVDB가 활발히 연구되고 있다. 점유 격자 맵은 공간을 복셀로 나누고 각 복셀이 장애물에 의해 점유되었을 확률을 저장하는 희소 스칼라 필드로, OpenVDB의 문제 정의와 정확히 일치한다. 여러 연구에서 OpenVDB 기반의 맵핑 시스템이 기존에 널리 사용되던 옥트리 기반의 Octomap보다 더 빠른 업데이트 속도와 우수한 확장성을 보여주었다.27 이는 OpenVDB가 가상 세계를 넘어 현실 세계와 상호작용하는 기술의 핵심 기반이 될 수 있음을 보여준다.

이처럼 OpenVDB의 성공적인 산업 간 전파는 이 기술이 해결한 문제가 특정 응용에 국한되지 않는 높은 수준의 ‘추상화’를 달성했기 때문이다. VFX 산업이라는 극한의 요구사항을 가진 인큐베이터에서 단련된 이 강력하고 일반적인 솔루션은, 다른 산업 분야가 막대한 연구개발 비용과 시간을 들이지 않고도 즉시 활용할 수 있는 검증된 기술 자산이 되었다.

지난 10여 년간 OpenVDB는 희소 볼류메트릭 데이터 처리 분야에서 단순한 도구를 넘어 하나의 산업 표준이자 기술 생태계로 자리 잡았다. 드림웍스 애니메이션의 내부 프로젝트로 시작하여 아카데미 소프트웨어 재단(ASWF)의 대표 프로젝트로 성장하기까지, OpenVDB는 데이터 구조의 이론적 우수성, 프로덕션 환경에서 검증된 강력한 툴셋, 그리고 GPU 및 AI 기술을 아우르는 끊임없는 혁신을 통해 그 입지를 공고히 해왔다.

현재 OpenVDB는 영화, 광고, 게임 등 엔터테인먼트 산업뿐만 아니라 의료, 과학, 로봇 공학에 이르기까지 그 영향력을 확장하고 있다. ASWF의 중립적인 거버넌스 하에 운영됨으로써, OpenVDB는 특정 기업의 이해관계를 넘어 산업 전체의 공동 자산으로서 안정적이고 지속 가능한 발전을 보장받고 있다.11 GitHub를 중심으로 한 활발한 오픈소스 개발 커뮤니티는 전 세계의 스튜디오와 개발자들의 기여를 통해 라이브러리의 기능을 지속적으로 확장하고 개선하는 원동력이 되고 있다.55

OpenVDB의 미래는 세 가지 주요 축을 중심으로 전개될 것으로 예측된다.

  1. 실시간 상호작용의 강화: NanoVDB의 등장은 OpenVDB를 실시간 영역으로 이끄는 중요한 첫걸음이었다. 앞으로 GPU의 성능이 더욱 발전함에 따라, NanoVDB를 중심으로 한 GPU 가속 기능은 더욱 정교해질 것이다. 특히, 언리얼 엔진(Unreal Engine)이나 유니티(Unity)와 같은 주요 게임 엔진과의 네이티브 통합이 가속화되면서, 영화 수준의 볼류메트릭 효과를 실시간 인터랙티브 콘텐츠에서 구현하는 것이 보편화될 것이다.38
  2. 인공지능(AI)과의 심층적 융합: NeuralVDB는 AI를 데이터 압축에 활용한 선구적인 시도였지만, 이는 시작에 불과하다. 미래에는 AI 기술이 OpenVDB 생태계의 더 깊숙한 곳까지 융합될 것이다. 예를 들어, 신경망을 이용해 희소 데이터를 직접 렌더링하는 뉴럴 렌더링(Neural Rendering) 기술, 복잡한 물리 현상을 근사하여 시뮬레이션 속도를 비약적으로 향상시키는 AI 기반 서러게이트 모델(surrogate model) 등이 OpenVDB 데이터 구조 위에서 구현될 가능성이 높다.
  3. 타 산업으로의 확장 가속화: OpenVDB가 다양한 산업 분야에서 채택됨에 따라, 각 분야의 특화된 요구사항을 반영하는 새로운 도구와 기능들이 추가될 것이다. 이미 Mathematica와의 연동을 위한 OpenVDBLink가 개발된 것처럼 7, 의료 영상을 위한 특수 필터, 로봇 공학의 경로 탐색을 위한 전용 알고리즘, 과학 데이터 분석을 위한 통계 도구 등이 생태계에 더해지며 그 범용성을 더욱 확장할 것이다.

OpenVDB의 미래는 ‘하이브리드 데이터 표현’과 ‘절차적 생성’의 심화로 요약될 수 있다. NeuralVDB가 보여주었듯이, 미래의 데이터 구조는 전통적인 방식과 신경망 같은 새로운 표현을 결합하여 각 방식의 장점을 극대화하는 하이브리드 형태가 될 것이다. 또한, 데이터의 복잡성이 증가함에 따라, 아티스트나 연구자가 데이터를 직접 조작하기보다는 수학적, 절차적 규칙을 통해 생성하고 제어하는 워크플로우가 더욱 중요해질 것이다.

그러나 이러한 발전 과정에서 OpenVDB는 새로운 도전에 직면하게 된다. CPU(OpenVDB), GPU(NanoVDB), AI 가속기(NeuralVDB)라는 이질적인 컴퓨팅 환경과, 동적/정적, 무손실/손실이라는 각기 다른 데이터 표현 방식 사이에서 어떻게 ‘데이터의 일관성’과 ‘사용의 편의성’을 유지할 것인가 하는 문제이다. 사용자가 파이프라인의 각 단계에서 데이터 변환의 복잡성을 느끼지 않고, 각 표현 방식 간의 미묘한 차이로 인한 아티팩트 없이 매끄럽게 작업할 수 있도록 지원하는 것이 OpenVDB가 앞으로 10년 동안에도 산업 표준으로서의 지위를 유지하기 위한 핵심 과제가 될 것이다.

결론적으로, OpenVDB는 지난 10년간 희소 볼류메트릭 데이터 처리의 혁신을 이끌어왔으며, 앞으로도 ASWF의 강력한 지원과 활발한 커뮤니티의 참여를 바탕으로 실시간 기술과 인공지능이라는 새로운 시대의 흐름을 주도하며 그 기술적 지평을 계속해서 넓혀나갈 것으로 전망된다.

  1. en.wikipedia.org, accessed August 4, 2025, https://en.wikipedia.org/wiki/OpenVDB#:~:text=OpenVDB%20is%20an%20open%20source,opposed%20to%20just%20on%20surfaces.
  2. GPU Volume Rendering with VDB Compression - arXiv, accessed August 4, 2025, https://arxiv.org/html/2504.04564v2
  3. Detailed Study in Grid Generation and its Topology Optimization - ijrti, accessed August 4, 2025, https://www.ijrti.org/papers/IJRTI2007006.pdf
  4. Grid Systems What Are the Advantages and Disadvantages? - FLOW-3D, accessed August 4, 2025, https://www.flow3d.com/resources/cfd-101/general-cfd/grid-systems/
  5. OpenVDB - Deborah R Fowler, accessed August 4, 2025, https://www.deborahrfowler.com/HoudiniResources/OpenVDB.html
  6. OpenVDB LightWave, accessed August 4, 2025, https://docs.lightwave3d.com/2025/openvdb.html
  7. OpenVDB, accessed August 4, 2025, https://www.openvdb.org/
  8. What is OpenVDB and why should you care? [thinkingParticles Documentation], accessed August 4, 2025, https://cebas.com/manual/LifeLicenser/doku.php?id=reference_guide:thinkingparticles_nodes:operator_nodes:openvdb:what_is_openvdb
  9. NVIDIA NeuralVDB - NVIDIA Developer, accessed August 4, 2025, https://developer.nvidia.com/rendering-technologies/neuralvdb
  10. Accelerating OpenVDB on GPUs with NanoVDB NVIDIA Technical Blog, accessed August 4, 2025, https://developer.nvidia.com/blog/accelerating-openvdb-on-gpus-with-nanovdb/
  11. About OpenVDB, accessed August 4, 2025, https://www.openvdb.org/about/
  12. VDB: High-resolution sparse volumes with dynamic topology - Ken Museth, accessed August 4, 2025, https://www.museth.org/Ken/Publications_files/Museth_TOG13.pdf
  13. Frequently Asked Questions - OpenVDB, accessed August 4, 2025, https://www.openvdb.org/documentation/doxygen/faq.html
  14. DreamWorks open sources the OpenVDB file format - CG Channel, accessed August 4, 2025, https://www.cgchannel.com/2012/08/dreamworks-open-sources-the-openvdb-format/
  15. DreamWorks Animation Releases Proprietary Volumetric Format OpenVDB to Open Source Community - Ken Museth, accessed August 4, 2025, https://ken.museth.org/OpenVDB_files/DWA_News_2012_8_3_OpenVDB.pdf
  16. OpenVDB - Wikipedia, accessed August 4, 2025, https://en.wikipedia.org/wiki/OpenVDB
  17. VDB: High-resolution sparse volumes with dynamic topology - Dreamworks Research, accessed August 4, 2025, https://research.dreamworks.com/wp-content/uploads/2018/08/Museth_TOG13-Edited.pdf
  18. OpenVDB - Ken Museth, accessed August 4, 2025, https://ken.museth.org/OpenVDB.html
  19. DreamWorks Releases Open VDB Software with Eye on Industry Standard - - ETCentric, accessed August 4, 2025, https://www.etcentric.org/dreamworks-releases-open-vdb-software-with-eye-on-industry-standard/
  20. Documentation - OpenVDB, accessed August 4, 2025, https://www.openvdb.org/documentation/
  21. ASWF Debuts Open Source Project and Adds New Members - - ETCentric, accessed August 4, 2025, https://www.etcentric.org/aswf-debuts-open-source-project-and-adds-new-members/
  22. Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks - Frontiers, accessed August 4, 2025, https://www.frontiersin.org/journals/robotics-and-ai/articles/10.3389/frobt.2020.600387/full
  23. OpenVDB Overview, accessed August 4, 2025, https://www.openvdb.org/documentation/doxygen/overview.html
  24. Insight: VDB, a deep dive - JangaFX, accessed August 4, 2025, https://jangafx.com/insights/vdb-a-deep-dive
  25. OpenVDB: FAQ - GitHub Pages, accessed August 4, 2025, https://academysoftwarefoundation.github.io/openvdb/NanoVDB_FAQ.html
  26. Dense< ValueT, Layout > Class Template Reference - OpenVDB, accessed August 4, 2025, https://www.openvdb.org/documentation/doxygen/classopenvdb_1_1v12__0_1_1tools_1_1Dense.html
  27. NanoMap: A GPU-Accelerated OpenVDB-Based Mapping and Simulation Package for Robotic Agents - MDPI, accessed August 4, 2025, https://www.mdpi.com/2072-4292/14/21/5463
  28. [1911.06001] Efficient Animation of Sparse Voxel Octrees for Real-Time Ray Tracing - arXiv, accessed August 4, 2025, https://arxiv.org/abs/1911.06001
  29. Download - OpenVDB, accessed August 4, 2025, https://www.openvdb.org/download/
  30. Signed distance function - Wikipedia, accessed August 4, 2025, https://en.wikipedia.org/wiki/Signed_distance_function
  31. Level-set method - Wikipedia, accessed August 4, 2025, https://en.wikipedia.org/wiki/Level-set_method
  32. Level Set Methods: An Overview and Some Recent Results - PhysBAM, accessed August 4, 2025, https://physbam.stanford.edu/~fedkiw/papers/cam2000-08.pdf
  33. openvdb::v9_0::tools Namespace Reference - GitHub Pages, accessed August 4, 2025, https://academysoftwarefoundation.github.io/openvdb/namespaceopenvdb_1_1v9__0_1_1tools.html
  34. Preserving topology with VDB Fracture? - Google Groups, accessed August 4, 2025, https://groups.google.com/g/openvdb-forum/c/TgxZpZmCGKE
  35. NanoVDB - NVIDIA Developer, accessed August 4, 2025, https://developer.nvidia.com/nanovdb
  36. ASWF - OpenVDB Adds GPU Support with NanoVDB; OpenVDB Version 7.1 Now Available, accessed August 4, 2025, https://www.aswf.io/news/nanovdb/
  37. NanoVDB: A GPU-Friendly and Portable VDB Data Structure For Real-Time Rendering And Simulation - Research at NVIDIA, accessed August 4, 2025, https://research.nvidia.com/labs/prl/nanovdb/nanovdb2021.pdf
  38. Adding OpenVDB Support to Unreal - Eidos-Montréal, accessed August 4, 2025, https://www.eidosmontreal.com/news/adding-openvdb-support-to-unreal/
  39. Nvidia unveils NeuralVDB - CG Channel, accessed August 4, 2025, https://www.cgchannel.com/2022/08/nvidia-unveils-neuralvdb/
  40. Optimizing Large-Scale Sparse Volumetric Data with NVIDIA NeuralVDB Early Access, accessed August 4, 2025, https://developer.nvidia.com/blog/optimizing-large-scale-sparse-volumetric-data-with-nvidia-neuralvdb-early-access/
  41. Upping the Standard: NVIDIA Introduces NeuralVDB, Bringing AI and GPU Optimization to Award-Winning OpenVDB, accessed August 4, 2025, https://blogs.nvidia.com/blog/neuralvdb-ai/
  42. Academy Software Foundation OpenVDB Adds GPU Support with NanoVDB - Digital Media World, accessed August 4, 2025, https://www.digitalmediaworld.tv/vfx/academy-software-foundation-openvdb-adds-gpu-support-with-nanovdb
  43. www.numberanalytics.com, accessed August 4, 2025, https://www.numberanalytics.com/blog/vdb-in-visual-effects-deep-dive#:~:text=Case%20Studies%20of%20VDB%20in,create%20realistic%20fur%20and%20vegetation.
  44. VDB in Visual Effects: A Deep Dive - Number Analytics, accessed August 4, 2025, https://www.numberanalytics.com/blog/vdb-in-visual-effects-deep-dive
  45. Tutorial, walk through of the new FLIP fluids Forums - SideFX, accessed August 4, 2025, https://www.sidefx.com/forum/post/131631/
  46. Houdini - Meshing Fluid Simulations - CG Forge Quick Tip - YouTube, accessed August 4, 2025, https://www.youtube.com/watch?v=BZCPSI5YrOY
  47. [Literature Review] 3D Gaussian Particle Approximation of VDB Datasets: A Study for Scientific Visualization - Moonlight, accessed August 4, 2025, https://www.themoonlight.io/en/review/3d-gaussian-particle-approximation-of-vdb-datasets-a-study-for-scientific-visualization
  48. GPU Volume Rendering with VDB Compression - arXiv, accessed August 4, 2025, https://arxiv.org/html/2504.04564v1
  49. 3D Gaussian Particle Approximation of VDB Datasets: A Study for Scientific Visualization, accessed August 4, 2025, https://www.researchgate.net/publication/390570155_3D_Gaussian_Particle_Approximation_of_VDB_Datasets_A_Study_for_Scientific_Visualization
  50. Visualizing volumetric data through OpenVDB - Introduction to Scientific Visualization with Blender, accessed August 4, 2025, https://surf-visualization.github.io/blender-course/advanced/python_scripting/4_volumetric_data/
  51. Automated Animation Pipeline for Visualizing In Silico Tumor Growth Models - SPIE Digital Library, accessed August 4, 2025, https://www.spiedigitallibrary.org/conference-proceedings-of-spie/12463/1246343/Automated-animation-pipeline-for-visualizing-in-silico-tumor-growth-models/10.1117/12.2654988.pdf
  52. How to use volume (VDB) as texture? - Blender Artists Community, accessed August 4, 2025, https://blenderartists.org/t/how-to-use-volume-vdb-as-texture/1509326
  53. Benchmarking Occupancy Mapping libraries - Nicolò Valigi, accessed August 4, 2025, https://nicolovaligi.com/articles/occupancy-mapping-benchmarks/
  54. LAIKA Joins the Academy Software Foundation as a Premier Member, accessed August 4, 2025, https://themalaysianreserve.com/2025/08/01/laika-joins-the-academy-software-foundation-as-a-premier-member/
  55. AcademySoftwareFoundation/openvdb: OpenVDB - Sparse volume data structure and tools, accessed August 4, 2025, https://github.com/AcademySoftwareFoundation/openvdb
  56. Open VDB and Nano VDB Rendering - Feedback & Requests - Unreal Engine Forums, accessed August 4, 2025, https://forums.unrealengine.com/t/open-vdb-and-nano-vdb-rendering/150807