diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedAnimated/instancedAnimated.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedAnimated/instancedAnimated.gltf new file mode 100644 index 00000000..80705fb6 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedAnimated/instancedAnimated.gltf @@ -0,0 +1,253 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 36, + "max": [ + 10.000004768371582, + 10.000000953674316, + 10.000006675720215 + ], + "min": [ + -10.000003814697266, + -10.000000953674316, + -10.000004768371582 + ], + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 36, + "bufferView": 1, + "byteOffset": 12 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "SCALAR", + "componentType": 5126, + "count": 61, + "max": [ + 2.5 + ], + "min": [ + 0 + ], + "bufferView": 3, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 61, + "bufferView": 3, + "byteOffset": 244 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 864, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1916, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1988, + "byteLength": 976 + }, + { + "buffer": 0, + "byteOffset": 2964, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 2989 + } + ], + "materials": [ + { + "name": "Material_0", + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "name": "Mesh_0", + "primitives": [ + { + "attributes": { + "POSITION": 4, + "NORMAL": 5 + }, + "mode": 4, + "material": 0, + "indices": 6 + } + ] + } + ], + "nodes": [ + { + "name": "Object_0", + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "animations": [ + { + "name": "Object_0Action", + "samplers": [ + { + "input": 7, + "output": 8, + "interpolation": "LINEAR" + } + ], + "channels": [ + { + "sampler": 0, + "target": { + "node": 0, + "path": "translation" + } + } + ] + } + ], + "scenes": [ + { + "name": "Scene", + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 4 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedGltfExternal/instancedGltfExternal.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedGltfExternal/instancedGltfExternal.gltf new file mode 100644 index 00000000..43be3fae --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedGltfExternal/instancedGltfExternal.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedOct32POrientation/instancedOct32POrientation.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedOct32POrientation/instancedOct32POrientation.gltf new file mode 100644 index 00000000..43be3fae --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedOct32POrientation/instancedOct32POrientation.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedOrientation/instancedOrientation.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedOrientation/instancedOrientation.gltf new file mode 100644 index 00000000..43be3fae --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedOrientation/instancedOrientation.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedQuantized/instancedQuantized.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedQuantized/instancedQuantized.gltf new file mode 100644 index 00000000..eb7532e5 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedQuantized/instancedQuantized.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.8325231024, + 4081608.43651485, + 4736316.760503323 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedQuantizedOct32POrientation/instancedQuantizedOct32POrientation.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedQuantizedOct32POrientation/instancedQuantizedOct32POrientation.gltf new file mode 100644 index 00000000..eb7532e5 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedQuantizedOct32POrientation/instancedQuantizedOct32POrientation.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.8325231024, + 4081608.43651485, + 4736316.760503323 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedRTC/instancedRTC.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedRTC/instancedRTC.gltf new file mode 100644 index 00000000..3bfffdfd --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedRTC/instancedRTC.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.8340490048, + 4081608.4380407524, + 4736316.758977418 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedRedMaterial/instancedRedMaterial.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedRedMaterial/instancedRedMaterial.gltf new file mode 100644 index 00000000..b0effc07 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedRedMaterial/instancedRedMaterial.gltf @@ -0,0 +1,209 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 0, + 0, + 1 + ], + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedScale/instancedScale.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedScale/instancedScale.gltf new file mode 100644 index 00000000..43be3fae --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedScale/instancedScale.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedScaleNonUniform/instancedScaleNonUniform.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedScaleNonUniform/instancedScaleNonUniform.gltf new file mode 100644 index 00000000..43be3fae --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedScaleNonUniform/instancedScaleNonUniform.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedTextured/instancedTextured.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedTextured/instancedTextured.gltf new file mode 100644 index 00000000..28c02610 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedTextured/instancedTextured.gltf @@ -0,0 +1,241 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 1, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 1, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 1, + "byteOffset": 1000 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10, + 10, + 10 + ], + "min": [ + -10, + -10, + -10 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + }, + { + "type": "VEC2", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 24 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 3, + "byteOffset": 0 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 1892, + "byteLength": 20090 + }, + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 768, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1820, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 21984, + "byteLength": 25 + } + ], + "samplers": [ + { + "magFilter": 9729, + "minFilter": 9729, + "wrapS": 10497, + "wrapT": 10497 + } + ], + "textures": [ + { + "source": 0, + "sampler": 0 + } + ], + "images": [ + { + "name": "bricks", + "mimeType": "image/jpeg", + "bufferView": 0 + } + ], + "buffers": [ + { + "name": "textured_box", + "byteLength": 22009 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0, + "baseColorTexture": { + "index": 0 + } + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 4, + "NORMAL": 5, + "TEXCOORD_0": 6 + }, + "mode": 4, + "material": 0, + "indices": 7 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 4 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchIds/instancedWithBatchIds.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchIds/instancedWithBatchIds.gltf new file mode 100644 index 00000000..bdd26096 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchIds/instancedWithBatchIds.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5121, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1028 + }, + { + "buffer": 0, + "byteOffset": 1028, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1100, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1676, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1701 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchTable/instancedWithBatchTable.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchTable/instancedWithBatchTable.gltf new file mode 100644 index 00000000..43be3fae --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchTable/instancedWithBatchTable.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchTableBinary/instancedWithBatchTableBinary.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchTableBinary/instancedWithBatchTableBinary.gltf new file mode 100644 index 00000000..58fc052f --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithBatchTableBinary/instancedWithBatchTableBinary.gltf @@ -0,0 +1,203 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 100 + } + ], + "buffers": [ + { + "byteLength": 1800 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "id": { + "name": "id", + "description": "Generated from id", + "type": "SCALAR", + "componentType": "UINT32", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "id": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithCopyright/instancedWithCopyright.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithCopyright/instancedWithCopyright.gltf new file mode 100644 index 00000000..bff37712 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithCopyright/instancedWithCopyright.gltf @@ -0,0 +1,207 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0", + "copyright": "Sample Copyright" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "name": "POSITION", + "type": "VEC3", + "componentType": 5126, + "count": 30, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "name": "NORMAL", + "type": "VEC3", + "componentType": 5126, + "count": 30, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 720, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1844, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1869 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "name": "Node #0", + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithTransform/instancedWithTransform.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithTransform/instancedWithTransform.gltf new file mode 100644 index 00000000..28216144 --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithTransform/instancedWithTransform.gltf @@ -0,0 +1,198 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1124, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1700, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1725 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 0, + "indices": 4 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithoutBatchTable/instancedWithoutBatchTable.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithoutBatchTable/instancedWithoutBatchTable.gltf new file mode 100644 index 00000000..6f227c9c --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithoutBatchTable/instancedWithoutBatchTable.gltf @@ -0,0 +1,145 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "max": [ + 10.000004768371582, + 10, + 10.000005722045898 + ], + "min": [ + -10.000003814697266, + -10, + -10.000003814697266 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 24, + "bufferView": 2, + "byteOffset": 12 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1000 + }, + { + "buffer": 0, + "byteOffset": 1000, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1072, + "byteLength": 576, + "byteStride": 24, + "target": 34962 + } + ], + "buffers": [ + { + "byteLength": 1648 + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 4, + "NORMAL": 5 + }, + "mode": 4, + "material": 0, + "indices": 3 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ] +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/Instanced/InstancedWithoutNormals/instancedWithoutNormals.gltf b/specs/data/migration/golden_gltf/Instanced/InstancedWithoutNormals/instancedWithoutNormals.gltf new file mode 100644 index 00000000..e52728eb --- /dev/null +++ b/specs/data/migration/golden_gltf/Instanced/InstancedWithoutNormals/instancedWithoutNormals.gltf @@ -0,0 +1,207 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 300 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 25, + "bufferView": 0, + "byteOffset": 700 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 25, + "bufferView": 0, + "byteOffset": 1000 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 10, + 10, + 10 + ], + "min": [ + -10, + -10, + -10 + ], + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 36, + "bufferView": 2, + "byteOffset": 0 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 1052 + }, + { + "buffer": 0, + "byteOffset": 1052, + "byteLength": 96, + "byteStride": 12, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 1148, + "byteLength": 72, + "target": 34963 + }, + { + "buffer": 0, + "byteOffset": 1220, + "byteLength": 25 + } + ], + "buffers": [ + { + "byteLength": 1245 + } + ], + "materials": [ + { + "name": "Material", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1 + ], + "roughnessFactor": 0.4000000059604645, + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "name": "Cube", + "primitives": [ + { + "attributes": { + "POSITION": 4 + }, + "mode": 4, + "material": 0, + "indices": 5 + } + ] + } + ], + "nodes": [ + { + "name": "Cube", + "mesh": 0, + "extensions": { + "EXT_instance_features": { + "featureIds": [ + { + "featureCount": 25, + "attribute": 0, + "propertyTable": 0 + } + ] + }, + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2, + "_FEATURE_ID_0": 3 + } + } + } + }, + { + "translation": [ + 1215013.84, + 4081608.45, + 4736316.76 + ], + "children": [ + 0 + ] + } + ], + "scenes": [ + { + "name": "Scene", + "nodes": [ + 1 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_structural_metadata", + "EXT_instance_features", + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ], + "extensions": { + "EXT_structural_metadata": { + "schema": { + "id": "ID_batch_table", + "name": "Generated from batch_table", + "classes": { + "class_batch_table": { + "name": "Generated from batch_table", + "properties": { + "Height": { + "name": "Height", + "description": "Generated from Height", + "type": "SCALAR", + "componentType": "UINT8", + "required": true + } + } + } + } + }, + "propertyTables": [ + { + "name": "Property Table", + "class": "class_batch_table", + "count": 25, + "properties": { + "Height": { + "values": 3 + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesRotated/instancedAxesRotated.gltf b/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesRotated/instancedAxesRotated.gltf new file mode 100644 index 00000000..a692d447 --- /dev/null +++ b/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesRotated/instancedAxesRotated.gltf @@ -0,0 +1,533 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 96 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 224 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 12, + "max": [ + 0.8500000238418579, + 0.37450000643730164, + 0.15000000596046448 + ], + "min": [ + 0.6000000238418579, + 0.15000000596046448, + 0.15000000596046448 + ], + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 12, + "bufferView": 1, + "byteOffset": 12 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 0.3525000214576721, + 0.37450000643730164, + 0.8999999761581421 + ], + "min": [ + 0.15549999475479126, + 0.15000000596046448, + 0.8999999761581421 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 2, + "byteOffset": 12 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 3, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 0.4690000116825104, + 0.8245000243186951, + 0.15000000596046448 + ], + "min": [ + 0.25, + 0.48499998450279236, + 0.15000000596046448 + ], + "bufferView": 3, + "byteOffset": 12 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 4, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 0.10000000149011612, + 1, + 0.10000000149011612 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 4, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 4, + "byteOffset": 20 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 5, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 1, + 0.10000000149011612, + 0.10000000149011612 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 5, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 5, + "byteOffset": 20 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 6, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 0.10000000149011612, + 0.10000000149011612, + 1 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 6, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 6, + "byteOffset": 20 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 30, + "bufferView": 7, + "byteOffset": 0 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 18, + "bufferView": 7, + "byteOffset": 60 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 18, + "bufferView": 7, + "byteOffset": 96 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 108, + "bufferView": 7, + "byteOffset": 132 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 320 + }, + { + "buffer": 0, + "byteOffset": 320, + "byteLength": 288, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 608, + "byteLength": 192, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 800, + "byteLength": 192, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 992, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 2912, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 4832, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 6752, + "byteLength": 348, + "target": 34963 + } + ], + "buffers": [ + { + "byteLength": 7100 + } + ], + "materials": [ + { + "name": "Material.001", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 0, + 0, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + }, + { + "name": "Material.003", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0, + 0, + 1, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + }, + { + "name": "Material.002", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0, + 1, + 0, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "name": "Text", + "primitives": [ + { + "attributes": { + "POSITION": 3, + "NORMAL": 4 + }, + "mode": 4, + "material": 0, + "indices": 18 + } + ] + }, + { + "name": "Text.001", + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 1, + "indices": 19 + } + ] + }, + { + "name": "Text.002", + "primitives": [ + { + "attributes": { + "POSITION": 8, + "NORMAL": 7 + }, + "mode": 4, + "material": 2, + "indices": 20 + } + ] + }, + { + "name": "Circle.001", + "primitives": [ + { + "attributes": { + "COLOR_0": 12, + "POSITION": 13, + "NORMAL": 14 + }, + "mode": 4, + "material": 0, + "indices": 21 + } + ] + }, + { + "name": "Circle.002", + "primitives": [ + { + "attributes": { + "COLOR_0": 15, + "POSITION": 16, + "NORMAL": 17 + }, + "mode": 4, + "material": 1, + "indices": 21 + } + ] + }, + { + "name": "Circle.003", + "primitives": [ + { + "attributes": { + "COLOR_0": 9, + "POSITION": 10, + "NORMAL": 11 + }, + "mode": 4, + "material": 2, + "indices": 21 + } + ] + } + ], + "nodes": [ + { + "name": "Text", + "mesh": 0, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Text.001", + "mesh": 1, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Text.002", + "mesh": 2, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle", + "mesh": 3, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle.001", + "mesh": 4, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle.002", + "mesh": 5, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "children": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + }, + { + "translation": [ + 1, + 1, + -1 + ], + "children": [ + 6 + ] + } + ], + "scenes": [ + { + "name": "Scene", + "nodes": [ + 7 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ] +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesScaled/instancedAxesScaled.gltf b/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesScaled/instancedAxesScaled.gltf new file mode 100644 index 00000000..a692d447 --- /dev/null +++ b/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesScaled/instancedAxesScaled.gltf @@ -0,0 +1,533 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 96 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 224 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 12, + "max": [ + 0.8500000238418579, + 0.37450000643730164, + 0.15000000596046448 + ], + "min": [ + 0.6000000238418579, + 0.15000000596046448, + 0.15000000596046448 + ], + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 12, + "bufferView": 1, + "byteOffset": 12 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 0.3525000214576721, + 0.37450000643730164, + 0.8999999761581421 + ], + "min": [ + 0.15549999475479126, + 0.15000000596046448, + 0.8999999761581421 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 2, + "byteOffset": 12 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 3, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 0.4690000116825104, + 0.8245000243186951, + 0.15000000596046448 + ], + "min": [ + 0.25, + 0.48499998450279236, + 0.15000000596046448 + ], + "bufferView": 3, + "byteOffset": 12 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 4, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 0.10000000149011612, + 1, + 0.10000000149011612 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 4, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 4, + "byteOffset": 20 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 5, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 1, + 0.10000000149011612, + 0.10000000149011612 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 5, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 5, + "byteOffset": 20 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 6, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 0.10000000149011612, + 0.10000000149011612, + 1 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 6, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 6, + "byteOffset": 20 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 30, + "bufferView": 7, + "byteOffset": 0 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 18, + "bufferView": 7, + "byteOffset": 60 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 18, + "bufferView": 7, + "byteOffset": 96 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 108, + "bufferView": 7, + "byteOffset": 132 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 320 + }, + { + "buffer": 0, + "byteOffset": 320, + "byteLength": 288, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 608, + "byteLength": 192, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 800, + "byteLength": 192, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 992, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 2912, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 4832, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 6752, + "byteLength": 348, + "target": 34963 + } + ], + "buffers": [ + { + "byteLength": 7100 + } + ], + "materials": [ + { + "name": "Material.001", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 0, + 0, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + }, + { + "name": "Material.003", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0, + 0, + 1, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + }, + { + "name": "Material.002", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0, + 1, + 0, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "name": "Text", + "primitives": [ + { + "attributes": { + "POSITION": 3, + "NORMAL": 4 + }, + "mode": 4, + "material": 0, + "indices": 18 + } + ] + }, + { + "name": "Text.001", + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 1, + "indices": 19 + } + ] + }, + { + "name": "Text.002", + "primitives": [ + { + "attributes": { + "POSITION": 8, + "NORMAL": 7 + }, + "mode": 4, + "material": 2, + "indices": 20 + } + ] + }, + { + "name": "Circle.001", + "primitives": [ + { + "attributes": { + "COLOR_0": 12, + "POSITION": 13, + "NORMAL": 14 + }, + "mode": 4, + "material": 0, + "indices": 21 + } + ] + }, + { + "name": "Circle.002", + "primitives": [ + { + "attributes": { + "COLOR_0": 15, + "POSITION": 16, + "NORMAL": 17 + }, + "mode": 4, + "material": 1, + "indices": 21 + } + ] + }, + { + "name": "Circle.003", + "primitives": [ + { + "attributes": { + "COLOR_0": 9, + "POSITION": 10, + "NORMAL": 11 + }, + "mode": 4, + "material": 2, + "indices": 21 + } + ] + } + ], + "nodes": [ + { + "name": "Text", + "mesh": 0, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Text.001", + "mesh": 1, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Text.002", + "mesh": 2, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle", + "mesh": 3, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle.001", + "mesh": 4, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle.002", + "mesh": 5, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "children": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + }, + { + "translation": [ + 1, + 1, + -1 + ], + "children": [ + 6 + ] + } + ], + "scenes": [ + { + "name": "Scene", + "nodes": [ + 7 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ] +} \ No newline at end of file diff --git a/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesSimple/instancedAxesSimple.gltf b/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesSimple/instancedAxesSimple.gltf new file mode 100644 index 00000000..a692d447 --- /dev/null +++ b/specs/data/migration/golden_gltf/InstancedAxes/InstancedAxesSimple/instancedAxesSimple.gltf @@ -0,0 +1,533 @@ +{ + "asset": { + "generator": "glTF-Transform", + "version": "2.0" + }, + "accessors": [ + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 0 + }, + { + "type": "VEC4", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 96 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 0, + "byteOffset": 224 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 12, + "max": [ + 0.8500000238418579, + 0.37450000643730164, + 0.15000000596046448 + ], + "min": [ + 0.6000000238418579, + 0.15000000596046448, + 0.15000000596046448 + ], + "bufferView": 1, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 12, + "bufferView": 1, + "byteOffset": 12 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 0.3525000214576721, + 0.37450000643730164, + 0.8999999761581421 + ], + "min": [ + 0.15549999475479126, + 0.15000000596046448, + 0.8999999761581421 + ], + "bufferView": 2, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 2, + "byteOffset": 12 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "bufferView": 3, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 8, + "max": [ + 0.4690000116825104, + 0.8245000243186951, + 0.15000000596046448 + ], + "min": [ + 0.25, + 0.48499998450279236, + 0.15000000596046448 + ], + "bufferView": 3, + "byteOffset": 12 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 4, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 0.10000000149011612, + 1, + 0.10000000149011612 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 4, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 4, + "byteOffset": 20 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 5, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 1, + 0.10000000149011612, + 0.10000000149011612 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 5, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 5, + "byteOffset": 20 + }, + { + "type": "VEC4", + "componentType": 5123, + "count": 60, + "normalized": true, + "bufferView": 6, + "byteOffset": 0 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "max": [ + 0.10000000149011612, + 0.10000000149011612, + 1 + ], + "min": [ + 0, + 0, + 0 + ], + "bufferView": 6, + "byteOffset": 8 + }, + { + "type": "VEC3", + "componentType": 5126, + "count": 60, + "bufferView": 6, + "byteOffset": 20 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 30, + "bufferView": 7, + "byteOffset": 0 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 18, + "bufferView": 7, + "byteOffset": 60 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 18, + "bufferView": 7, + "byteOffset": 96 + }, + { + "type": "SCALAR", + "componentType": 5123, + "count": 108, + "bufferView": 7, + "byteOffset": 132 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteOffset": 0, + "byteLength": 320 + }, + { + "buffer": 0, + "byteOffset": 320, + "byteLength": 288, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 608, + "byteLength": 192, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 800, + "byteLength": 192, + "byteStride": 24, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 992, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 2912, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 4832, + "byteLength": 1920, + "byteStride": 32, + "target": 34962 + }, + { + "buffer": 0, + "byteOffset": 6752, + "byteLength": 348, + "target": 34963 + } + ], + "buffers": [ + { + "byteLength": 7100 + } + ], + "materials": [ + { + "name": "Material.001", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 1, + 0, + 0, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + }, + { + "name": "Material.003", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0, + 0, + 1, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + }, + { + "name": "Material.002", + "doubleSided": true, + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0, + 1, + 0, + 1 + ], + "roughnessFactor": 0.5, + "metallicFactor": 0 + } + } + ], + "meshes": [ + { + "name": "Text", + "primitives": [ + { + "attributes": { + "POSITION": 3, + "NORMAL": 4 + }, + "mode": 4, + "material": 0, + "indices": 18 + } + ] + }, + { + "name": "Text.001", + "primitives": [ + { + "attributes": { + "POSITION": 5, + "NORMAL": 6 + }, + "mode": 4, + "material": 1, + "indices": 19 + } + ] + }, + { + "name": "Text.002", + "primitives": [ + { + "attributes": { + "POSITION": 8, + "NORMAL": 7 + }, + "mode": 4, + "material": 2, + "indices": 20 + } + ] + }, + { + "name": "Circle.001", + "primitives": [ + { + "attributes": { + "COLOR_0": 12, + "POSITION": 13, + "NORMAL": 14 + }, + "mode": 4, + "material": 0, + "indices": 21 + } + ] + }, + { + "name": "Circle.002", + "primitives": [ + { + "attributes": { + "COLOR_0": 15, + "POSITION": 16, + "NORMAL": 17 + }, + "mode": 4, + "material": 1, + "indices": 21 + } + ] + }, + { + "name": "Circle.003", + "primitives": [ + { + "attributes": { + "COLOR_0": 9, + "POSITION": 10, + "NORMAL": 11 + }, + "mode": 4, + "material": 2, + "indices": 21 + } + ] + } + ], + "nodes": [ + { + "name": "Text", + "mesh": 0, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Text.001", + "mesh": 1, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Text.002", + "mesh": 2, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle", + "mesh": 3, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle.001", + "mesh": 4, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "name": "Circle.002", + "mesh": 5, + "extensions": { + "EXT_mesh_gpu_instancing": { + "attributes": { + "TRANSLATION": 0, + "ROTATION": 1, + "SCALE": 2 + } + } + } + }, + { + "children": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + }, + { + "translation": [ + 1, + 1, + -1 + ], + "children": [ + 6 + ] + } + ], + "scenes": [ + { + "name": "Scene", + "nodes": [ + 7 + ] + } + ], + "scene": 0, + "extensionsUsed": [ + "EXT_mesh_gpu_instancing" + ], + "extensionsRequired": [ + "EXT_mesh_gpu_instancing" + ] +} \ No newline at end of file