KhronosGroup / KhronosGroup/glTF
[glTF 2.1] Thumbnails
- Dominant language
- HTML
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 17h 26m
- Merged PRs (30d)
- 5
Description
# Thumbnails
glTF 2.1 adds thumbnails, which can be used to provide a preview of the glTF file without loading the entire glTF scene graph into a 3D engine. This can be useful in trivial cases, can be much faster even when the application supports 3D rendering, and can allow the model author to include custom imagery beyond what's visible in the 3D scene.
Thumbnails are purely optional. Applications can entirely ignore the thumbnail and still load the rest of the glTF file.
## Use cases
Thumbnails are an existing feature found in the 3D ecosystem, such as character formats, 3D asset marketplaces, and so on, allowing users to preview what's in those files without needing to load them.
## Example
> [!NOTE]
> Examples are illustrative and not exhaustive.
```json
{
"asset": {
"thumbnail": 0,
"version": "2.1"
},
"images": [
{
"mimeType": "image/png",
"uri": "thumbnail.png"
}
]
}
```
## Why this design
The choice to place thumbnails in the core specification rather than an extension, and allow any media type rather than allowing extensions to provide new thumbnail types, was driven by the desire to keep the JSON structure simple. Trivial implementations of glTF 2.1 should not be required to parse unnecessarily complex JSON structures to get to the thumbnail data, especially those defined externally to the main glTF specification.
Additional restrictions, such as resolution limits, aspect ratio limits, file size limits, color space limits, and so on were considered, but ultimately were not added to the specification. The existence of such normative limits would imply an extension would be required to bypass them, which is too much complexity for trivial implementations.
Contributor guide
Research direction
No implementation files, tests, or entry points are named. Start with the issue's JSON example and the glTF 2.1 specification sources; done means the thumbnail design is agreed and its representation, optional behavior, and constraints are captured in the specification.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100