glTF Research Scenes
glTF 2.0 versions of commonly used graphics research scenes, with conversion metadata and documented limitations.
A preview of selected glTF scenes included in the repository.
Many well-known research scenes are distributed in renderer-specific formats such as PBRT. Those formats are useful for offline renderers, but less convenient to use in real-time engines, and web experiments.
This repository provides glTF 2.0 adaptations of those scenes so they are easier to inspect, load, and reuse. The glTF outputs are close approximations of the original scenes.
Each scene includes glTF assets and metadata describing how the conversion was done. PBRT scenes were converted with Python scripts, then manually checked against the original files and reference renders.
glTF scenes are validated in GitHub Actions with the Khronos glTF Validator.
glTF variants
PBRT scenes include two generated glTF variants:
*_core.gltf: standard glTF 2.0 material model, for easier loading in engines.*_extended.gltf: a richer material mapping using supported glTF extensions.
core version. And use the extended version for richer material representation.
Classroom 2 is supplied as a single classroom2.glb, with its textures and camera embedded.
Download
Download the latest release if you only need the packaged .glb files.
Clone the repository for the full asset set: sources, .gltf files, textures, metadata, and licenses.
Scenes
Reference images are Blender 5.3 Cycles renders of each scene's glTF (the extended), stored in the scene's gltf/ folder. Cornell Caustic uses a PBRT v4 SPPM render instead, because Cycles could not reproduce its caustics. Render settings are recorded in the reference_render section of each conversion.yaml.
| Scene | Reference | License | Notes |
| --- | --- | --- | --- |
| breakfast-room |
| CC-BY-3.0 | Textured interior with metallic fixtures, environment map data, and a directional light |
| bathroom |
| CC0-1.0 | Large bathroom interior with glass, alpha masking, and emissive mesh lighting |
| bathroom2 |
| CC-BY-3.0 | Bathroom interior with textured coated wood, rough glass, mirrors, and emissive mesh lighting |
| bmw-m6 |
| CC0-1.0 | Vehicle scene with clearcoat paint, dielectric glass, aluminum metals, coated conductors, and environment map data |
| classroom |
| CC-BY-3.0 | Classroom interior with textured wood, clearcoat materials, metals, environment map data, and a directional light |
| classroom2 |
| CC0-1.0 | Blender Classroom by Christophe Seux, supplied as one GLB with embedded textures and camera |
| coffee-maker |
| CC-BY-3.0 | Compact appliance scene with coated plastics, glass, metal, and emissive mesh lighting |
| cornell-box |
| CC0-1.0 | Small diffuse box scene with emissive mesh lighting |
| cornell-caustic |
| CC0-1.0 | Cornell Box caustics scene with dielectric water and emissive mesh lighting |
| crown |
| CC-BY-3.0 | Austrian Imperial Crown with gold conductors, gemstones with dispersion, height map baked into geometry, and emissive mesh lighting |
| dragon |
| CC-BY-3.0 | Dense dragon model scene with diffuse materials and a directional light |
| glass-of-water |
| CC0-1.0 | Transparent glass, water, ice, and emissive mesh lighting test |
| house |
| CC0-1.0 | Large Victorian house with glass, environment map data, and a directional light |
| kitchen |
| CC-BY-3.0 | Detailed kitchen with textures, glass, metals, and emissive mesh lighting |
| lamp |
| CC0-1.0 | Desk lamp with coated plastic, metals, bulb glass, emissive mesh lighting, and a directional light |
| living-room |
| CC-BY-3.0 | Textured interior with leaf cutouts, mirrors, glass, and environment map data |
| living-room-2 |
| CC-BY-3.0 | White living room interior with textured props, clearcoat materials, glass, and emissive mesh lighting |
| material-testball |
| CC0-1.0 | Compact material ball with baked checkerboard and environment map data |
| modern-hall |
| CC-BY-3.0 | Modern hallway interior with textured surfaces, volumetric glass, and disk emissive mesh lighting |
| pontiac-gto |
| CC0-1.0; environment map CC-BY-3.0 | Vehicle scene with clearcoat car paint, glass, chrome, and environment map data |
| spaceship |
| CC0-1.0 | Sci-fi model with metals, glass, emissive mesh lighting, and environment map data |
| staircase |
| CC-BY-3.0 | Wooden staircase interior with portrait camera and emissive mesh lighting |
| teapot |
| CC0-1.0 | Teapot with baked checkerboard and environment map data |
| teapot-full |
| CC0-1.0 | Teapot and liquid scene with volume, medium settings, and environment map data |
| veach-ajar |
| CC0-1.0 | Veach lighting scene with transformed meshes, glass, and emissive mesh lighting |
| veach-bidir |
| CC0-1.0 | Small bidirectional-lighting scene with emissive mesh lighting |
| veach-mis |
| CC0-1.0 | Compact MIS scene with tessellated emissive mesh lighting |
| vintage-car |
| CC0-1.0 | Vehicle scene with clearcoat car paint, glass, chrome, rough steel, and environment map data |
Limitations
Some PBRT scene features are outside the current conversion scope because glTF cannot represent them directly and a practical approximation is not always available. B-spline curves used for fur, hair, or carpet fibers are the main example: converting them to triangle meshes can make the generated assets too large, so scenes that depend on them are not currently included.
The included scenes were selected because their important geometry, materials, textures, lighting, cameras, and render settings can be represented in glTF or approximated with supported glTF features. PBRT-only details are recorded in glTF extras and conversion.yaml.
PBRT distant lights are included as KHR_lights_punctual directional lights in the extended glTF files. PBRT area lights are converted to emissive mesh geometry using the source emitter shape and size, which better matches how path tracing engines model finite-area emitters. glTF has no environment light, so PBRT image-based infinite lights are exported as separate HDR files beside the glTF. Light intensities use the same relative units as emissive strength; when importing into Blender, choose the Unitless lighting mode to keep that balance.
Generated Outputs
Each PBRT scene's gltf/ directory contains:
scenes//gltf/ _core.gltf scenes//gltf/ _extended.gltf scenes//gltf/ .bin scenes//gltf/conversion.yaml scenes/and/gltf/ _environment.hdr , for scenes with their own image environment map_environment_LICENSE.txt
conversion.yaml report may include:
- source files and license
- generated outputs
- geometry statistics
- material mapping
- light mapping
- render presets
- unsupported and approximated features
References
- Benedikt Bitterli Rendering Resources is the main source for most scenes in this repository. Thanks to Benedikt Bitterli for collecting and publishing the resources behind many of these conversions.
- mmp/pbrt-v4-scenes is another source for some of the PBRT v4 scenes used in this repository.
- glTF 2.0 Specification: target asset format for the core outputs.
- Khronos glTF Extension Registry: reference for optional glTF extensions used by richer outputs.
- PBRT v4 File Format: source format reference for PBRT scene parsing.
- Physically Based Rendering: From Theory to Implementation, 4th Edition: rendering reference for PBRT concepts and behavior.
License
Project-authored docs and metadata are MIT licensed.
Third-party scene assets keep their original licenses. Converted glTF assets are derivative scene assets and retain the source scene license unless a scene-specific note says otherwise.