See the glTF specification for more details.
These models are intended to test behavior of primitive restart feature of graphics APIs.
Each asset features a mesh consisting of two primitives with geometry data organized like this (example for TRIANGLES with UNSIGNED_SHORT).
v0 (lower-right)
v1 (upper-left)
v2...v65533 (0, 0, 0)
v65534 (lower-left)
v65535 (lower-left, same as previous)
- Left primitive:
0, 1, 65535
- Right primitive:
0, 1, 65534
If the left primitive is rendered, the graphics API doesn't perform primitive restart for a giver primitive type and/or index buffer type.
Note, that some engines may rebuild index buffers into different data types on load which may lead to different results.
The following table shows the properties that are set for a given model.
Mode | Indices Component Type | Left Primitive Indices | Right Primitive Indices | |
---|---|---|---|---|
00 View |
Points | Unsigned Byte | [0, 1, 255] | [0, 1, 254] |
01 View |
Points | Unsigned Short | [0, 1, 65535] | [0, 1, 65534] |
02 View |
Lines | Unsigned Byte | [0, 1, 1, 255, 255, 0] | [0, 1, 1, 254, 254, 0] |
03 View |
Lines | Unsigned Short | [0, 1, 1, 65535, 65535, 0] | [0, 1, 1, 65534, 65534, 0] |
04 View |
Line Loop | Unsigned Byte | [0, 1, 255] | [0, 1, 254] |
05 View |
Line Loop | Unsigned Short | [0, 1, 65535] | [0, 1, 65534] |
06 View |
Line Strip | Unsigned Byte | [0, 1, 255, 0] | [0, 1, 254, 0] |
07 View |
Line Strip | Unsigned Short | [0, 1, 65535, 0] | [0, 1, 65534, 0] |
08 View |
Triangles | Unsigned Byte | [0, 1, 255] | [0, 1, 254] |
09 View |
Triangles | Unsigned Short | [0, 1, 65535] | [0, 1, 65534] |
10 View |
Triangle Strip | Unsigned Byte | [0, 1, 255] | [0, 1, 254] |
11 View |
Triangle Strip | Unsigned Short | [0, 1, 65535] | [0, 1, 65534] |
12 View |
Triangle Fan | Unsigned Byte | [0, 1, 255] | [0, 1, 254] |
13 View |
Triangle Fan | Unsigned Short | [0, 1, 65535] | [0, 1, 65534] |