KhronosGroup / KhronosGroup/glTF

[glTF 2.1] Thumbnails

Open
#2,593 7 comments 0 reactions 0 assignees View on GitHub
2.1
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.