Feature Roadmap
stevk opened this issue · 6 comments
These are the attributes that should have tests created next. They are listed in order of priority.
-
Materials and PBR
-
Samplers
-
Primitives_Attributes
position
normal
tangent
TexCoord_0
TexCoord_1
Color_0 -
Spec gloss material
-
Assets: Version checking
Version/Min version
Extensions required -
Mesh
indices (on/off)
indices mode
Single primitive
multiple primitives (Split into 2 triangles. PrimitiveAttributes: All on - all off) -
Color Space
sRGB
linear -
Nodes
Node w/ child
Node w/ children
Node w/ deep node hierarchy
Node with transformations (Combo?, Axis flip, negative scale, etc.)
matrix (transformation)
rotation
scale
translation -
Interleaved buffers
Position, UV0, Vertex Color -
Node Animation
-
Skin Animation
-
Animation Sampler component types #533
-
Instancing #419
-
Accessors - sparse
-
Buffers
Individual buffers for POSITION, INDEX, NORMAL, animation channels #440
multiple buffers
BufferViews byteStride (undefined, two or more accessors)
BufferViews target (ArrayBuffer, ElementArrayBuffer) -
.Glb
Data packed
No data packed
Some data packed -
Texture Source
.jpeg
url -
URI tests #451
-
Material test w/ normals, vertex colors, base color factor + base color texture #438
-
Alpha mask tested with different alpha factors (1, 0, 0.8)
-
Alpha blend tested with different alpha factors (1, 0, 0.8)
-
Max, min values of floats. Only ones with limited ranges?
-
Test engine limits #283
-
Unsigned indices with values high enough that they have negative values if treated as signed #316
-
Points w/ normals, w/o indices. w/ texture cords #371
-
Lines w/ normal #371
-
Lines w/ normals, tangent, normal texture, and texture coords #371
-
Alpha_blend, alpha_mask w/ double sided
-
Morph Targets
Support of at least eight morphed attributes
Add instancing model -
Scenes
Zero scenes
One Scene
Multiple Scenes
One Scene w/ multiple nodes
Multiple Scenes w/ multiple nodes
Multiple Scenes w/ the same node
Multiple Scenes/no scene attribute -
Material test using ORM texture #405
-
Non-power of 2 textures #318
-
Node Parent-child hierarchy transform #363
-
MSFT LODs #353
-
KHR_materials_unlit (extension) #446
-
KHR_light_punctual (extension) #452
-
KHR_tex transform (extension) #531
-
Outside of range for attributes that have float values (Negative test)
-
Model missing a top level feature. E.g. Missing material, or node, etc… Won't render anything. (Negative test)
-
Test tangent space of normal map #472
-
Name field with special cases (null string, duplicated)
-
Node with negative scale and double sided (should work if both features work separately, so low pri).
NON-FEATURE WORK
- Model, MeshPrimitive, and Modelgroup should have separate .cs files #510
- Add data for validating animations (Blocked. Need external requirements) #456
- Create MD detailing the base model used #140
- Separate and display occlusion, roughness, and metallic textures in readme #198
- Mesh_Primitives has only a single model (add models or consolidate) #421
- Move glTF-Assets-Viewer to glTF-Asset-Generator #447
- Only display the skybox for models that have attributes that require a skybox #519
I think Mesh, Primitives, Primitive_Attributes should be first in this list. Scene, node, etc. can go later.
Made that update.
Since there is a question mark for buffers, perhaps add individual buffers for POSITION, INDEX, NORMAL, animation channels etc. Some engines may expect that there is only one buffer, or one for geometry and one for animation.
Sure, we can do that. Do you mind filing a separate issue so that it doesn't get lost?
Please see #440.
Thanks @andreasplesch!