원문 캡처 · github.com
원문 캡처 · github.com

gltf-research-scenes는 PBRT 등 렌더러별 형식으로 배포되던 그래픽 연구 장면을 glTF 2.0으로 변환해 제공하는 저장소다. 실시간 엔진이나 웹 실험에서 장면을 불러오고 재사용하기 쉽게 만들었으며, 변환 결과는 원본 장면의 근사치다.

저장소에는 거실·주방·자동차·코넬 박스 등 장면과 변환 메타데이터가 들어 있다. PBRT 장면은 파이썬 스크립트로 변환한 뒤 원본 파일 및 참고 렌더와 수동으로 대조했으며, 생성한 glTF는 Khronos glTF Validator로 GitHub Actions에서 검증한다.

PBRT 장면에는 두 가지 glTF 변형이 있다. 기본 glTF 2.0 재질 모델을 사용하는 *_core.gltf는 엔진에서 쉽게 불러오는 용도이며, glTF 확장을 활용해 재질을 더 풍부하게 표현하는 *_extended.gltf는 상세한 재질 표현에 적합하다. 가져오기 도구와 엔진을 기본적으로 시험하려면 core 버전을 사용하라고 안내한다. classroom2는 텍스처와 카메라를 포함한 단일 classroom2.glb 파일로 제공된다.

패키지된 .glb 파일만 필요하면 최신 릴리스를 내려받을 수 있다. 원본, .gltf 파일, 텍스처, 메타데이터, 라이선스를 포함한 전체 자료는 저장소를 복제해 이용한다. 각 장면의 라이선스는 다르며, 변환된 자산도 별도 장면별 안내가 없는 한 원본 장면의 라이선스를 따른다. 프로젝트가 작성한 문서와 메타데이터에는 MIT 라이선스가 적용된다.

변환에는 한계도 있다. glTF에서 직접 표현할 수 없고 실용적인 근사 방법도 없는 PBRT 기능은 범위에서 제외된다. 털·머리카락·카펫 섬유 등에 쓰이는 B-스플라인 곡선이 대표적이다. 이를 삼각형 메시로 바꾸면 자산이 지나치게 커질 수 있어, 해당 곡선에 의존하는 장면은 현재 포함하지 않는다.

생성된 파일에는 명시적인 광원 객체가 없다. 기본 glTF 2.0에는 광원 객체가 없고, KHR_lights_punctual은 방향광·점광·스포트라이트만 지원하며 이 저장소는 해당 확장을 출력하지 않는다. 대신 PBRT 영역광은 원본 발광체의 모양과 크기를 반영한 발광 메시로 변환하고, PBRT의 원거리광과 무한광은 메타데이터로 보존한다. PBRT 전용 세부 사항과 지원되지 않거나 근사한 기능은 glTF extras와 conversion.yaml에 기록한다.

장면별 출처와 라이선스는 저장소의 장면 목록에서 확인할 수 있다. 주요 장면 출처는 Benedikt Bitterli Rendering Resources이며, 일부 PBRT v4 장면은 mmp/pbrt-v4-scenes에서 가져왔다. 형식 참고 자료로는 glTF 2.0 사양, Khronos glTF 확장 목록, PBRT v4 파일 형식, Physically Based Rendering 4판을 제시한다.