diff --git a/Output/Instancing/Figures/SampleImages/Instancing_00.png b/Output/Instancing/Figures/SampleImages/Instancing_00.png new file mode 100644 index 00000000..ca8251b7 Binary files /dev/null and b/Output/Instancing/Figures/SampleImages/Instancing_00.png differ diff --git a/Output/Instancing/Figures/SampleImages/Instancing_01.png b/Output/Instancing/Figures/SampleImages/Instancing_01.png new file mode 100644 index 00000000..cf69698e Binary files /dev/null and b/Output/Instancing/Figures/SampleImages/Instancing_01.png differ diff --git a/Output/Instancing/Figures/SampleImages/Instancing_02.png b/Output/Instancing/Figures/SampleImages/Instancing_02.png new file mode 100644 index 00000000..0b166d2f Binary files /dev/null and b/Output/Instancing/Figures/SampleImages/Instancing_02.png differ diff --git a/Output/Instancing/Figures/SampleImages/Instancing_03.png b/Output/Instancing/Figures/SampleImages/Instancing_03.png new file mode 100644 index 00000000..0b166d2f Binary files /dev/null and b/Output/Instancing/Figures/SampleImages/Instancing_03.png differ diff --git a/Output/Instancing/Figures/Thumbnails/BaseColor_Plane.png b/Output/Instancing/Figures/Thumbnails/BaseColor_Plane.png new file mode 100644 index 00000000..30029a4c Binary files /dev/null and b/Output/Instancing/Figures/Thumbnails/BaseColor_Plane.png differ diff --git a/Output/Instancing/Figures/Thumbnails/Instancing_00.png b/Output/Instancing/Figures/Thumbnails/Instancing_00.png new file mode 100644 index 00000000..fa5e255c Binary files /dev/null and b/Output/Instancing/Figures/Thumbnails/Instancing_00.png differ diff --git a/Output/Instancing/Figures/Thumbnails/Instancing_01.png b/Output/Instancing/Figures/Thumbnails/Instancing_01.png new file mode 100644 index 00000000..626c1dba Binary files /dev/null and b/Output/Instancing/Figures/Thumbnails/Instancing_01.png differ diff --git a/Output/Instancing/Figures/Thumbnails/Instancing_02.png b/Output/Instancing/Figures/Thumbnails/Instancing_02.png new file mode 100644 index 00000000..0e9afabc Binary files /dev/null and b/Output/Instancing/Figures/Thumbnails/Instancing_02.png differ diff --git a/Output/Instancing/Figures/Thumbnails/Instancing_03.png b/Output/Instancing/Figures/Thumbnails/Instancing_03.png new file mode 100644 index 00000000..0e9afabc Binary files /dev/null and b/Output/Instancing/Figures/Thumbnails/Instancing_03.png differ diff --git a/Output/Instancing/Figures/Thumbnails/Normal_Plane.png b/Output/Instancing/Figures/Thumbnails/Normal_Plane.png new file mode 100644 index 00000000..c1f2eb95 Binary files /dev/null and b/Output/Instancing/Figures/Thumbnails/Normal_Plane.png differ diff --git a/Output/Instancing/Instancing_00.bin b/Output/Instancing/Instancing_00.bin new file mode 100644 index 00000000..e18c7b04 Binary files /dev/null and b/Output/Instancing/Instancing_00.bin differ diff --git a/Output/Instancing/Instancing_00.gltf b/Output/Instancing/Instancing_00.gltf new file mode 100644 index 00000000..08ca35a3 --- /dev/null +++ b/Output/Instancing/Instancing_00.gltf @@ -0,0 +1,90 @@ +{ + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 3, + "type": "VEC3", + "max": [ + 0.5, + 0.5, + 0.0 + ], + "min": [ + -0.5, + -0.5, + 0.0 + ], + "name": "Positions Accessor" + }, + { + "bufferView": 1, + "componentType": 5125, + "count": 3, + "type": "SCALAR", + "name": "Indices Accessor" + } + ], + "asset": { + "generator": "glTF Asset Generator", + "version": "2.0" + }, + "buffers": [ + { + "uri": "Instancing_00.bin", + "byteLength": 48 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteLength": 36, + "name": "Positions" + }, + { + "buffer": 0, + "byteOffset": 36, + "byteLength": 12, + "name": "Indices" + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 0 + }, + "indices": 1 + } + ] + } + ], + "nodes": [ + { + "mesh": 0, + "translation": [ + -0.5, + 0.0, + 0.0 + ] + }, + { + "mesh": 0, + "translation": [ + 0.5, + 0.0, + 0.0 + ] + } + ], + "scene": 0, + "scenes": [ + { + "nodes": [ + 0, + 1 + ] + } + ] +} \ No newline at end of file diff --git a/Output/Instancing/Instancing_01.bin b/Output/Instancing/Instancing_01.bin new file mode 100644 index 00000000..461671de Binary files /dev/null and b/Output/Instancing/Instancing_01.bin differ diff --git a/Output/Instancing/Instancing_01.gltf b/Output/Instancing/Instancing_01.gltf new file mode 100644 index 00000000..5d45be0e --- /dev/null +++ b/Output/Instancing/Instancing_01.gltf @@ -0,0 +1,116 @@ +{ + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 3, + "type": "VEC3", + "max": [ + 0.5, + 0.5, + 0.0 + ], + "min": [ + -0.5, + -0.5, + 0.0 + ], + "name": "Positions Accessor" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 3, + "type": "VEC2", + "name": "UV Accessor 0" + }, + { + "bufferView": 2, + "componentType": 5125, + "count": 3, + "type": "SCALAR", + "name": "Indices Accessor" + } + ], + "asset": { + "generator": "glTF Asset Generator", + "version": "2.0" + }, + "buffers": [ + { + "uri": "Instancing_01.bin", + "byteLength": 72 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteLength": 36, + "name": "Positions" + }, + { + "buffer": 0, + "byteOffset": 36, + "byteLength": 24, + "name": "Texture Coords 0" + }, + { + "buffer": 0, + "byteOffset": 60, + "byteLength": 12, + "name": "Indices" + } + ], + "images": [ + { + "uri": "Textures/Normal_Plane.png" + } + ], + "materials": [ + { + "normalTexture": { + "index": 0 + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 0, + "TEXCOORD_0": 1 + }, + "indices": 2, + "material": 0 + }, + { + "attributes": { + "POSITION": 0, + "TEXCOORD_0": 1 + }, + "indices": 2, + "material": 0 + } + ] + } + ], + "nodes": [ + { + "mesh": 0 + } + ], + "scene": 0, + "scenes": [ + { + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "source": 0 + } + ] +} \ No newline at end of file diff --git a/Output/Instancing/Instancing_02.bin b/Output/Instancing/Instancing_02.bin new file mode 100644 index 00000000..461671de Binary files /dev/null and b/Output/Instancing/Instancing_02.bin differ diff --git a/Output/Instancing/Instancing_02.gltf b/Output/Instancing/Instancing_02.gltf new file mode 100644 index 00000000..75301d7d --- /dev/null +++ b/Output/Instancing/Instancing_02.gltf @@ -0,0 +1,134 @@ +{ + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 3, + "type": "VEC3", + "max": [ + 0.5, + 0.5, + 0.0 + ], + "min": [ + -0.5, + -0.5, + 0.0 + ], + "name": "Positions Accessor" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 3, + "type": "VEC2", + "name": "UV Accessor 0" + }, + { + "bufferView": 2, + "componentType": 5125, + "count": 3, + "type": "SCALAR", + "name": "Indices Accessor" + } + ], + "asset": { + "generator": "glTF Asset Generator", + "version": "2.0" + }, + "buffers": [ + { + "uri": "Instancing_02.bin", + "byteLength": 72 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteLength": 36, + "name": "Positions" + }, + { + "buffer": 0, + "byteOffset": 36, + "byteLength": 24, + "name": "Texture Coords 0" + }, + { + "buffer": 0, + "byteOffset": 60, + "byteLength": 12, + "name": "Indices" + } + ], + "images": [ + { + "uri": "Textures/BaseColor_Plane.png" + }, + { + "uri": "Textures/Normal_Plane.png" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "baseColorTexture": { + "index": 0 + } + }, + "normalTexture": { + "index": 1 + } + }, + { + "pbrMetallicRoughness": { + "baseColorTexture": { + "index": 0 + } + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 0, + "TEXCOORD_0": 1 + }, + "indices": 2, + "material": 0 + }, + { + "attributes": { + "POSITION": 0, + "TEXCOORD_0": 1 + }, + "indices": 2, + "material": 1 + } + ] + } + ], + "nodes": [ + { + "mesh": 0 + } + ], + "scene": 0, + "scenes": [ + { + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "source": 0 + }, + { + "source": 1 + } + ] +} \ No newline at end of file diff --git a/Output/Instancing/Instancing_03.bin b/Output/Instancing/Instancing_03.bin new file mode 100644 index 00000000..461671de Binary files /dev/null and b/Output/Instancing/Instancing_03.bin differ diff --git a/Output/Instancing/Instancing_03.gltf b/Output/Instancing/Instancing_03.gltf new file mode 100644 index 00000000..974d3977 --- /dev/null +++ b/Output/Instancing/Instancing_03.gltf @@ -0,0 +1,135 @@ +{ + "accessors": [ + { + "bufferView": 0, + "componentType": 5126, + "count": 3, + "type": "VEC3", + "max": [ + 0.5, + 0.5, + 0.0 + ], + "min": [ + -0.5, + -0.5, + 0.0 + ], + "name": "Positions Accessor" + }, + { + "bufferView": 1, + "componentType": 5126, + "count": 3, + "type": "VEC2", + "name": "UV Accessor 0" + }, + { + "bufferView": 2, + "componentType": 5125, + "count": 3, + "type": "SCALAR", + "name": "Indices Accessor" + } + ], + "asset": { + "generator": "glTF Asset Generator", + "version": "2.0" + }, + "buffers": [ + { + "uri": "Instancing_03.bin", + "byteLength": 72 + } + ], + "bufferViews": [ + { + "buffer": 0, + "byteLength": 36, + "name": "Positions" + }, + { + "buffer": 0, + "byteOffset": 36, + "byteLength": 24, + "name": "Texture Coords 0" + }, + { + "buffer": 0, + "byteOffset": 60, + "byteLength": 12, + "name": "Indices" + } + ], + "images": [ + { + "uri": "Textures/BaseColor_Plane.png" + } + ], + "materials": [ + { + "pbrMetallicRoughness": { + "baseColorFactor": [ + 0.2, + 0.2, + 0.2, + 0.8 + ], + "baseColorTexture": { + "index": 0 + } + } + }, + { + "pbrMetallicRoughness": { + "baseColorTexture": { + "index": 0 + } + } + } + ], + "meshes": [ + { + "primitives": [ + { + "attributes": { + "POSITION": 0, + "TEXCOORD_0": 1 + }, + "indices": 2, + "material": 0 + }, + { + "attributes": { + "POSITION": 0, + "TEXCOORD_0": 1 + }, + "indices": 2, + "material": 1 + } + ] + } + ], + "nodes": [ + { + "mesh": 0 + } + ], + "scene": 0, + "scenes": [ + { + "nodes": [ + 0 + ] + } + ], + "textures": [ + { + "source": 0, + "name": "UniqueMetallicRoughness" + }, + { + "source": 0 + } + ] +} \ No newline at end of file diff --git a/Output/Instancing/Manifest.json b/Output/Instancing/Manifest.json new file mode 100644 index 00000000..051c5c59 --- /dev/null +++ b/Output/Instancing/Manifest.json @@ -0,0 +1,49 @@ +{ + "folder": "Instancing", + "models": [ + { + "fileName": "Instancing_00.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_00.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + }, + { + "fileName": "Instancing_01.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_01.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + }, + { + "fileName": "Instancing_02.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_02.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + }, + { + "fileName": "Instancing_03.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_03.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + } + ] +} \ No newline at end of file diff --git a/Output/Instancing/README.md b/Output/Instancing/README.md new file mode 100644 index 00000000..e09f4aae --- /dev/null +++ b/Output/Instancing/README.md @@ -0,0 +1,11 @@ +These models are intended to test using multiple instances of a single property. + +The following table shows the properties that are set for a given model. + +| | Sample Image | Instanced Mesh | Instanced Material | Instanced Texture | Instanced Image | +| :---: | :---: | :---: | :---: | :---: | :---: | +| [00](Instancing_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=0) | [](Figures/SampleImages/Instancing_00.png) | :white_check_mark: | | | | +| [01](Instancing_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=1) | [](Figures/SampleImages/Instancing_01.png) | | :white_check_mark: | | | +| [02](Instancing_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=2) | [](Figures/SampleImages/Instancing_02.png) | | | :white_check_mark: | | +| [03](Instancing_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=3) | [](Figures/SampleImages/Instancing_03.png) | | | | :white_check_mark: | + diff --git a/Output/Instancing/Textures/BaseColor_Plane.png b/Output/Instancing/Textures/BaseColor_Plane.png new file mode 100644 index 00000000..5d464553 Binary files /dev/null and b/Output/Instancing/Textures/BaseColor_Plane.png differ diff --git a/Output/Instancing/Textures/Normal_Plane.png b/Output/Instancing/Textures/Normal_Plane.png new file mode 100644 index 00000000..7586848d Binary files /dev/null and b/Output/Instancing/Textures/Normal_Plane.png differ diff --git a/Output/Manifest.json b/Output/Manifest.json index cb81d389..d711356f 100644 --- a/Output/Manifest.json +++ b/Output/Manifest.json @@ -124,6 +124,55 @@ } ] }, + { + "folder": "Instancing", + "models": [ + { + "fileName": "Instancing_00.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_00.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + }, + { + "fileName": "Instancing_01.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_01.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + }, + { + "fileName": "Instancing_02.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_02.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + }, + { + "fileName": "Instancing_03.gltf", + "sampleImageName": "Figures/SampleImages/Instancing_03.png", + "camera": { + "translation": [ + 0.0, + 0.0, + 1.3 + ] + } + } + ] + }, { "folder": "Material", "models": [ diff --git a/Output/Material/Figures/SampleImages/Material_01.png b/Output/Material/Figures/SampleImages/Material_01.png index 1350ca09..27ab941d 100644 Binary files a/Output/Material/Figures/SampleImages/Material_01.png and b/Output/Material/Figures/SampleImages/Material_01.png differ diff --git a/Output/Material/Figures/SampleImages/Material_04.png b/Output/Material/Figures/SampleImages/Material_04.png index 917d3ee8..3b649620 100644 Binary files a/Output/Material/Figures/SampleImages/Material_04.png and b/Output/Material/Figures/SampleImages/Material_04.png differ diff --git a/Output/Material/Figures/SampleImages/Material_07.png b/Output/Material/Figures/SampleImages/Material_07.png index 0114274c..6b74e541 100644 Binary files a/Output/Material/Figures/SampleImages/Material_07.png and b/Output/Material/Figures/SampleImages/Material_07.png differ diff --git a/Output/Material/Figures/Thumbnails/Material_01.png b/Output/Material/Figures/Thumbnails/Material_01.png index 57697ac6..0d202c70 100644 Binary files a/Output/Material/Figures/Thumbnails/Material_01.png and b/Output/Material/Figures/Thumbnails/Material_01.png differ diff --git a/Output/Material/Figures/Thumbnails/Material_04.png b/Output/Material/Figures/Thumbnails/Material_04.png index e0ef02f3..10eb75ee 100644 Binary files a/Output/Material/Figures/Thumbnails/Material_04.png and b/Output/Material/Figures/Thumbnails/Material_04.png differ diff --git a/Output/Material/Figures/Thumbnails/Material_07.png b/Output/Material/Figures/Thumbnails/Material_07.png index 4e51cab0..761c5c4d 100644 Binary files a/Output/Material/Figures/Thumbnails/Material_07.png and b/Output/Material/Figures/Thumbnails/Material_07.png differ diff --git a/Output/Material/Material_01.bin b/Output/Material/Material_01.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Material/Material_01.bin and b/Output/Material/Material_01.bin differ diff --git a/Output/Material/Material_01.gltf b/Output/Material/Material_01.gltf index ce5a4ab0..55c3613d 100644 --- a/Output/Material/Material_01.gltf +++ b/Output/Material/Material_01.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Material_01.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -101,10 +88,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Material/Material_04.bin b/Output/Material/Material_04.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Material/Material_04.bin and b/Output/Material/Material_04.bin differ diff --git a/Output/Material/Material_04.gltf b/Output/Material/Material_04.gltf index 38d739cf..4647d250 100644 --- a/Output/Material/Material_04.gltf +++ b/Output/Material/Material_04.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Material_04.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -102,10 +89,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Material/Material_07.bin b/Output/Material/Material_07.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Material/Material_07.bin and b/Output/Material/Material_07.bin differ diff --git a/Output/Material/Material_07.gltf b/Output/Material/Material_07.gltf index 4f509f6e..02dd6861 100644 --- a/Output/Material/Material_07.gltf +++ b/Output/Material/Material_07.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Material_07.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -120,10 +107,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Material/README.md b/Output/Material/README.md index aa70e589..bb4e51d4 100644 --- a/Output/Material/README.md +++ b/Output/Material/README.md @@ -12,12 +12,12 @@ The following table shows the properties that are set for a given model. | | Sample Image | Normal Texture | Normal Texture Scale | Occlusion Texture | Occlusion Texture Strength | Emissive Texture | Emissive Factor | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Material_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=0) | [](Figures/SampleImages/Material_00.png) | | | | | | | -| [01](Material_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=1) | [](Figures/SampleImages/Material_01.png) | [](Textures/Normal_Plane.png) | | | | | | -| [02](Material_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=2) | [](Figures/SampleImages/Material_02.png) | | | [](Textures/Occlusion_Plane.png) | | | | -| [03](Material_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=3) | [](Figures/SampleImages/Material_03.png) | | | | | | [1.0, 1.0, 1.0] | -| [04](Material_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=4) | [](Figures/SampleImages/Material_04.png) | [](Textures/Normal_Plane.png) | 10.0 | | | | | -| [05](Material_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=5) | [](Figures/SampleImages/Material_05.png) | | | [](Textures/Occlusion_Plane.png) | 0.5 | | | -| [06](Material_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=6) | [](Figures/SampleImages/Material_06.png) | | | | | [](Textures/Emissive_Plane.png) | [1.0, 1.0, 1.0] | -| [07](Material_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=2&model=7) | [](Figures/SampleImages/Material_07.png) | [](Textures/Normal_Plane.png) | 10.0 | [](Textures/Occlusion_Plane.png) | 0.5 | [](Textures/Emissive_Plane.png) | [1.0, 1.0, 1.0] | +| [00](Material_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=0) | [](Figures/SampleImages/Material_00.png) | | | | | | | +| [01](Material_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=1) | [](Figures/SampleImages/Material_01.png) | [](Textures/Normal_Plane.png) | | | | | | +| [02](Material_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=2) | [](Figures/SampleImages/Material_02.png) | | | [](Textures/Occlusion_Plane.png) | | | | +| [03](Material_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=3) | [](Figures/SampleImages/Material_03.png) | | | | | | [1.0, 1.0, 1.0] | +| [04](Material_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=4) | [](Figures/SampleImages/Material_04.png) | [](Textures/Normal_Plane.png) | 10.0 | | | | | +| [05](Material_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=5) | [](Figures/SampleImages/Material_05.png) | | | [](Textures/Occlusion_Plane.png) | 0.5 | | | +| [06](Material_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=6) | [](Figures/SampleImages/Material_06.png) | | | | | [](Textures/Emissive_Plane.png) | [1.0, 1.0, 1.0] | +| [07](Material_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=7) | [](Figures/SampleImages/Material_07.png) | [](Textures/Normal_Plane.png) | 10.0 | [](Textures/Occlusion_Plane.png) | 0.5 | [](Textures/Emissive_Plane.png) | [1.0, 1.0, 1.0] | diff --git a/Output/Material_AlphaBlend/README.md b/Output/Material_AlphaBlend/README.md index 705a1ee7..e0ec498b 100644 --- a/Output/Material_AlphaBlend/README.md +++ b/Output/Material_AlphaBlend/README.md @@ -11,11 +11,11 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex Color | Base Color Texture | Base Color Factor | | :---: | :---: | :---: | :---: | :---: | -| [00](Material_AlphaBlend_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=0) | [](Figures/SampleImages/Material_AlphaBlend_00.png) | Vector4 Float | | | -| [01](Material_AlphaBlend_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=1) | [](Figures/SampleImages/Material_AlphaBlend_01.png) | | [](Textures/BaseColor_Plane.png) | | -| [02](Material_AlphaBlend_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=2) | [](Figures/SampleImages/Material_AlphaBlend_02.png) | | | [1.0, 1.0, 1.0, 0.7] | -| [03](Material_AlphaBlend_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=3) | [](Figures/SampleImages/Material_AlphaBlend_03.png) | Vector4 Float | [](Textures/BaseColor_Plane.png) | | -| [04](Material_AlphaBlend_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=4) | [](Figures/SampleImages/Material_AlphaBlend_04.png) | Vector4 Float | | [1.0, 1.0, 1.0, 0.7] | -| [05](Material_AlphaBlend_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=5) | [](Figures/SampleImages/Material_AlphaBlend_05.png) | | [](Textures/BaseColor_Plane.png) | [1.0, 1.0, 1.0, 0.7] | -| [06](Material_AlphaBlend_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=3&model=6) | [](Figures/SampleImages/Material_AlphaBlend_06.png) | Vector4 Float | [](Textures/BaseColor_Plane.png) | [1.0, 1.0, 1.0, 0.7] | +| [00](Material_AlphaBlend_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=0) | [](Figures/SampleImages/Material_AlphaBlend_00.png) | Vector4 Float | | | +| [01](Material_AlphaBlend_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=1) | [](Figures/SampleImages/Material_AlphaBlend_01.png) | | [](Textures/BaseColor_Plane.png) | | +| [02](Material_AlphaBlend_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=2) | [](Figures/SampleImages/Material_AlphaBlend_02.png) | | | [1.0, 1.0, 1.0, 0.7] | +| [03](Material_AlphaBlend_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=3) | [](Figures/SampleImages/Material_AlphaBlend_03.png) | Vector4 Float | [](Textures/BaseColor_Plane.png) | | +| [04](Material_AlphaBlend_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=4) | [](Figures/SampleImages/Material_AlphaBlend_04.png) | Vector4 Float | | [1.0, 1.0, 1.0, 0.7] | +| [05](Material_AlphaBlend_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=5) | [](Figures/SampleImages/Material_AlphaBlend_05.png) | | [](Textures/BaseColor_Plane.png) | [1.0, 1.0, 1.0, 0.7] | +| [06](Material_AlphaBlend_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=6) | [](Figures/SampleImages/Material_AlphaBlend_06.png) | Vector4 Float | [](Textures/BaseColor_Plane.png) | [1.0, 1.0, 1.0, 0.7] | diff --git a/Output/Material_AlphaMask/README.md b/Output/Material_AlphaMask/README.md index 78ef8146..6527c10e 100644 --- a/Output/Material_AlphaMask/README.md +++ b/Output/Material_AlphaMask/README.md @@ -12,11 +12,11 @@ The following table shows the properties that are set for a given model. | | Sample Image | Alpha Cutoff | Base Color Factor | | :---: | :---: | :---: | :---: | -| [00](Material_AlphaMask_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=0) | [](Figures/SampleImages/Material_AlphaMask_00.png) | | | -| [01](Material_AlphaMask_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=1) | [](Figures/SampleImages/Material_AlphaMask_01.png) | 0.4 | | -| [02](Material_AlphaMask_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=2) | [](Figures/SampleImages/Material_AlphaMask_02.png) | 0.7 | | -| [03](Material_AlphaMask_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=3) | [](Figures/SampleImages/Material_AlphaMask_03.png) | 1.1 | | -| [04](Material_AlphaMask_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=4) | [](Figures/SampleImages/Material_AlphaMask_04.png) | 0.0 | | -| [05](Material_AlphaMask_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=5) | [](Figures/SampleImages/Material_AlphaMask_05.png) | 0.4 | [1.0, 1.0, 1.0, 0.7] | -| [06](Material_AlphaMask_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=4&model=6) | [](Figures/SampleImages/Material_AlphaMask_06.png) | 0.6 | [1.0, 1.0, 1.0, 0.7] | +| [00](Material_AlphaMask_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=0) | [](Figures/SampleImages/Material_AlphaMask_00.png) | | | +| [01](Material_AlphaMask_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=1) | [](Figures/SampleImages/Material_AlphaMask_01.png) | 0.4 | | +| [02](Material_AlphaMask_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=2) | [](Figures/SampleImages/Material_AlphaMask_02.png) | 0.7 | | +| [03](Material_AlphaMask_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=3) | [](Figures/SampleImages/Material_AlphaMask_03.png) | 1.1 | | +| [04](Material_AlphaMask_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=4) | [](Figures/SampleImages/Material_AlphaMask_04.png) | 0.0 | | +| [05](Material_AlphaMask_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=5) | [](Figures/SampleImages/Material_AlphaMask_05.png) | 0.4 | [1.0, 1.0, 1.0, 0.7] | +| [06](Material_AlphaMask_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=6) | [](Figures/SampleImages/Material_AlphaMask_06.png) | 0.6 | [1.0, 1.0, 1.0, 0.7] | diff --git a/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_01.png b/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_01.png index 70c15694..b2dfc684 100644 Binary files a/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_01.png and b/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_01.png differ diff --git a/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_02.png b/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_02.png index c21275e3..2633c6d1 100644 Binary files a/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_02.png and b/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_02.png differ diff --git a/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_03.png b/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_03.png index cca2b3e0..f545da4c 100644 Binary files a/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_03.png and b/Output/Material_DoubleSided/Figures/SampleImages/Material_DoubleSided_03.png differ diff --git a/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_01.png b/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_01.png index 94d7901d..619b52b3 100644 Binary files a/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_01.png and b/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_01.png differ diff --git a/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_02.png b/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_02.png index 440cf429..cbe9bc04 100644 Binary files a/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_02.png and b/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_02.png differ diff --git a/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_03.png b/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_03.png index ece6d670..3ace56e7 100644 Binary files a/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_03.png and b/Output/Material_DoubleSided/Figures/Thumbnails/Material_DoubleSided_03.png differ diff --git a/Output/Material_DoubleSided/Material_DoubleSided_01.bin b/Output/Material_DoubleSided/Material_DoubleSided_01.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Material_DoubleSided/Material_DoubleSided_01.bin and b/Output/Material_DoubleSided/Material_DoubleSided_01.bin differ diff --git a/Output/Material_DoubleSided/Material_DoubleSided_01.gltf b/Output/Material_DoubleSided/Material_DoubleSided_01.gltf index 606394c6..fdf0c3a6 100644 --- a/Output/Material_DoubleSided/Material_DoubleSided_01.gltf +++ b/Output/Material_DoubleSided/Material_DoubleSided_01.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Material_DoubleSided_01.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -95,10 +82,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Material_DoubleSided/Material_DoubleSided_02.bin b/Output/Material_DoubleSided/Material_DoubleSided_02.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Material_DoubleSided/Material_DoubleSided_02.bin and b/Output/Material_DoubleSided/Material_DoubleSided_02.bin differ diff --git a/Output/Material_DoubleSided/Material_DoubleSided_02.gltf b/Output/Material_DoubleSided/Material_DoubleSided_02.gltf index c284ea6d..97b46187 100644 --- a/Output/Material_DoubleSided/Material_DoubleSided_02.gltf +++ b/Output/Material_DoubleSided/Material_DoubleSided_02.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Material_DoubleSided_02.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -101,10 +88,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Material_DoubleSided/Material_DoubleSided_03.bin b/Output/Material_DoubleSided/Material_DoubleSided_03.bin index fc66e026..b51d16f5 100644 Binary files a/Output/Material_DoubleSided/Material_DoubleSided_03.bin and b/Output/Material_DoubleSided/Material_DoubleSided_03.bin differ diff --git a/Output/Material_DoubleSided/Material_DoubleSided_03.gltf b/Output/Material_DoubleSided/Material_DoubleSided_03.gltf index 4b47ab80..f6704f48 100644 --- a/Output/Material_DoubleSided/Material_DoubleSided_03.gltf +++ b/Output/Material_DoubleSided/Material_DoubleSided_03.gltf @@ -21,25 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5126, "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 4, + "bufferView": 3, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -53,7 +46,7 @@ "buffers": [ { "uri": "Material_DoubleSided_03.bin", - "byteLength": 216 + "byteLength": 168 } ], "bufferViews": [ @@ -65,24 +58,18 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 64, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 160, + "byteOffset": 112, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 192, + "byteOffset": 144, "byteLength": 24, "name": "Indices" } @@ -114,11 +101,11 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "TEXCOORD_0": 3 + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 4, + "indices": 3, "material": 0 } ] diff --git a/Output/Material_DoubleSided/README.md b/Output/Material_DoubleSided/README.md index 407c1b45..fa3f9faa 100644 --- a/Output/Material_DoubleSided/README.md +++ b/Output/Material_DoubleSided/README.md @@ -12,8 +12,8 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex Normal | Vertex Tangent | Normal Texture | | :---: | :---: | :---: | :---: | :---: | -| [00](Material_DoubleSided_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=0) | [](Figures/SampleImages/Material_DoubleSided_00.png) | | | | -| [01](Material_DoubleSided_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=1) | [](Figures/SampleImages/Material_DoubleSided_01.png) | :white_check_mark: | | | -| [02](Material_DoubleSided_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=2) | [](Figures/SampleImages/Material_DoubleSided_02.png) | :white_check_mark: | | [](Textures/Normal_Plane.png) | -| [03](Material_DoubleSided_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=5&model=3) | [](Figures/SampleImages/Material_DoubleSided_03.png) | :white_check_mark: | :white_check_mark: | [](Textures/Normal_Plane.png) | +| [00](Material_DoubleSided_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=0) | [](Figures/SampleImages/Material_DoubleSided_00.png) | | | | +| [01](Material_DoubleSided_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=1) | [](Figures/SampleImages/Material_DoubleSided_01.png) | :white_check_mark: | | | +| [02](Material_DoubleSided_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=2) | [](Figures/SampleImages/Material_DoubleSided_02.png) | :white_check_mark: | | [](Textures/Normal_Plane.png) | +| [03](Material_DoubleSided_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=3) | [](Figures/SampleImages/Material_DoubleSided_03.png) | :white_check_mark: | :white_check_mark: | [](Textures/Normal_Plane.png) | diff --git a/Output/Material_MetallicRoughness/README.md b/Output/Material_MetallicRoughness/README.md index b559f368..578cdcba 100644 --- a/Output/Material_MetallicRoughness/README.md +++ b/Output/Material_MetallicRoughness/README.md @@ -4,16 +4,16 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex Color | Base Color Texture | Base Color Factor | Metallic Roughness Texture | Metallic Factor | Roughness Factor | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Material_MetallicRoughness_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=0) | [](Figures/SampleImages/Material_MetallicRoughness_00.png) | | | | | | | -| [01](Material_MetallicRoughness_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=1) | [](Figures/SampleImages/Material_MetallicRoughness_01.png) | Vector3 Float | | | | | | -| [02](Material_MetallicRoughness_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=2) | [](Figures/SampleImages/Material_MetallicRoughness_02.png) | | [](Textures/BaseColor_Plane.png) | | | | | -| [03](Material_MetallicRoughness_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=3) | [](Figures/SampleImages/Material_MetallicRoughness_03.png) | | | [0.2, 0.2, 0.2, 0.8] | | | | -| [04](Material_MetallicRoughness_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=4) | [](Figures/SampleImages/Material_MetallicRoughness_04.png) | | | | [](Textures/MetallicRoughness_Plane.png) | | | -| [05](Material_MetallicRoughness_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=5) | [](Figures/SampleImages/Material_MetallicRoughness_05.png) | | | | | 0.0 | | -| [06](Material_MetallicRoughness_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=6) | [](Figures/SampleImages/Material_MetallicRoughness_06.png) | | | | | | 0.0 | -| [07](Material_MetallicRoughness_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=7) | [](Figures/SampleImages/Material_MetallicRoughness_07.png) | Vector3 Float | [](Textures/BaseColor_Plane.png) | | | | | -| [08](Material_MetallicRoughness_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=8) | [](Figures/SampleImages/Material_MetallicRoughness_08.png) | | [](Textures/BaseColor_Plane.png) | [0.2, 0.2, 0.2, 0.8] | | | | -| [09](Material_MetallicRoughness_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=9) | [](Figures/SampleImages/Material_MetallicRoughness_09.png) | | | | [](Textures/MetallicRoughness_Plane.png) | 0.0 | | -| [10](Material_MetallicRoughness_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=10) | [](Figures/SampleImages/Material_MetallicRoughness_10.png) | | | | [](Textures/MetallicRoughness_Plane.png) | | 0.0 | -| [11](Material_MetallicRoughness_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=6&model=11) | [](Figures/SampleImages/Material_MetallicRoughness_11.png) | Vector3 Float | [](Textures/BaseColor_Plane.png) | [0.2, 0.2, 0.2, 0.8] | [](Textures/MetallicRoughness_Plane.png) | 0.0 | 0.0 | +| [00](Material_MetallicRoughness_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=0) | [](Figures/SampleImages/Material_MetallicRoughness_00.png) | | | | | | | +| [01](Material_MetallicRoughness_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=1) | [](Figures/SampleImages/Material_MetallicRoughness_01.png) | Vector3 Float | | | | | | +| [02](Material_MetallicRoughness_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=2) | [](Figures/SampleImages/Material_MetallicRoughness_02.png) | | [](Textures/BaseColor_Plane.png) | | | | | +| [03](Material_MetallicRoughness_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=3) | [](Figures/SampleImages/Material_MetallicRoughness_03.png) | | | [0.2, 0.2, 0.2, 0.8] | | | | +| [04](Material_MetallicRoughness_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=4) | [](Figures/SampleImages/Material_MetallicRoughness_04.png) | | | | [](Textures/MetallicRoughness_Plane.png) | | | +| [05](Material_MetallicRoughness_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=5) | [](Figures/SampleImages/Material_MetallicRoughness_05.png) | | | | | 0.0 | | +| [06](Material_MetallicRoughness_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=6) | [](Figures/SampleImages/Material_MetallicRoughness_06.png) | | | | | | 0.0 | +| [07](Material_MetallicRoughness_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=7) | [](Figures/SampleImages/Material_MetallicRoughness_07.png) | Vector3 Float | [](Textures/BaseColor_Plane.png) | | | | | +| [08](Material_MetallicRoughness_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=8) | [](Figures/SampleImages/Material_MetallicRoughness_08.png) | | [](Textures/BaseColor_Plane.png) | [0.2, 0.2, 0.2, 0.8] | | | | +| [09](Material_MetallicRoughness_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=9) | [](Figures/SampleImages/Material_MetallicRoughness_09.png) | | | | [](Textures/MetallicRoughness_Plane.png) | 0.0 | | +| [10](Material_MetallicRoughness_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=10) | [](Figures/SampleImages/Material_MetallicRoughness_10.png) | | | | [](Textures/MetallicRoughness_Plane.png) | | 0.0 | +| [11](Material_MetallicRoughness_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=11) | [](Figures/SampleImages/Material_MetallicRoughness_11.png) | Vector3 Float | [](Textures/BaseColor_Plane.png) | [0.2, 0.2, 0.2, 0.8] | [](Textures/MetallicRoughness_Plane.png) | 0.0 | 0.0 | diff --git a/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_00.png b/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_00.png index c447c786..37093dda 100644 Binary files a/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_00.png and b/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_00.png differ diff --git a/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_01.png b/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_01.png index 70c02939..04efe2bc 100644 Binary files a/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_01.png and b/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_01.png differ diff --git a/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_02.png b/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_02.png index bca7181e..04efe2bc 100644 Binary files a/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_02.png and b/Output/Material_Mixed/Figures/SampleImages/Material_Mixed_02.png differ diff --git a/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_00.png b/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_00.png index 8f93b85b..09ec7550 100644 Binary files a/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_00.png and b/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_00.png differ diff --git a/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_01.png b/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_01.png index 822971b5..67c8eb6b 100644 Binary files a/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_01.png and b/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_01.png differ diff --git a/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_02.png b/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_02.png index 875a4a3e..67c8eb6b 100644 Binary files a/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_02.png and b/Output/Material_Mixed/Figures/Thumbnails/Material_Mixed_02.png differ diff --git a/Output/Material_Mixed/Material_Mixed_00.bin b/Output/Material_Mixed/Material_Mixed_00.bin index 780d109e..461671de 100644 Binary files a/Output/Material_Mixed/Material_Mixed_00.bin and b/Output/Material_Mixed/Material_Mixed_00.bin differ diff --git a/Output/Material_Mixed/Material_Mixed_00.gltf b/Output/Material_Mixed/Material_Mixed_00.gltf index e23b68c0..d1de7fa5 100644 --- a/Output/Material_Mixed/Material_Mixed_00.gltf +++ b/Output/Material_Mixed/Material_Mixed_00.gltf @@ -33,37 +33,6 @@ "count": 3, "type": "SCALAR", "name": "Indices Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -73,7 +42,7 @@ "buffers": [ { "uri": "Material_Mixed_00.bin", - "byteLength": 144 + "byteLength": 72 } ], "bufferViews": [ @@ -93,24 +62,6 @@ "byteOffset": 60, "byteLength": 12, "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 72, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 108, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 132, - "byteLength": 12, - "name": "Indices" } ], "images": [ @@ -119,16 +70,6 @@ } ], "materials": [ - { - "extensions": { - "KHR_materials_pbrSpecularGlossiness": {} - }, - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "extensions": { "KHR_materials_pbrSpecularGlossiness": {} @@ -153,11 +94,11 @@ }, { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 2, + "material": 0 } ] } diff --git a/Output/Material_Mixed/Material_Mixed_01.bin b/Output/Material_Mixed/Material_Mixed_01.bin index 780d109e..461671de 100644 Binary files a/Output/Material_Mixed/Material_Mixed_01.bin and b/Output/Material_Mixed/Material_Mixed_01.bin differ diff --git a/Output/Material_Mixed/Material_Mixed_01.gltf b/Output/Material_Mixed/Material_Mixed_01.gltf index f19c1e6e..d3b44e70 100644 --- a/Output/Material_Mixed/Material_Mixed_01.gltf +++ b/Output/Material_Mixed/Material_Mixed_01.gltf @@ -33,37 +33,6 @@ "count": 3, "type": "SCALAR", "name": "Indices Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -73,7 +42,7 @@ "buffers": [ { "uri": "Material_Mixed_01.bin", - "byteLength": 144 + "byteLength": 72 } ], "bufferViews": [ @@ -93,24 +62,6 @@ "byteOffset": 60, "byteLength": 12, "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 72, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 108, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 132, - "byteLength": 12, - "name": "Indices" } ], "images": [ @@ -119,13 +70,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -147,11 +91,11 @@ }, { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 2, + "material": 0 } ] } diff --git a/Output/Material_Mixed/Material_Mixed_02.bin b/Output/Material_Mixed/Material_Mixed_02.bin index 780d109e..461671de 100644 Binary files a/Output/Material_Mixed/Material_Mixed_02.bin and b/Output/Material_Mixed/Material_Mixed_02.bin differ diff --git a/Output/Material_Mixed/Material_Mixed_02.gltf b/Output/Material_Mixed/Material_Mixed_02.gltf index 8ea5da76..372ded5a 100644 --- a/Output/Material_Mixed/Material_Mixed_02.gltf +++ b/Output/Material_Mixed/Material_Mixed_02.gltf @@ -33,37 +33,6 @@ "count": 3, "type": "SCALAR", "name": "Indices Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -73,7 +42,7 @@ "buffers": [ { "uri": "Material_Mixed_02.bin", - "byteLength": 144 + "byteLength": 72 } ], "bufferViews": [ @@ -93,24 +62,6 @@ "byteOffset": 60, "byteLength": 12, "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 72, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 108, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 132, - "byteLength": 12, - "name": "Indices" } ], "images": [ @@ -150,10 +101,10 @@ }, { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, + "indices": 2, "material": 1 } ] diff --git a/Output/Material_Mixed/README.md b/Output/Material_Mixed/README.md index 317f52d2..665033b0 100644 --- a/Output/Material_Mixed/README.md +++ b/Output/Material_Mixed/README.md @@ -17,7 +17,7 @@ The following table shows the properties that are set for a given model. | | Sample Image | Specular Glossiness On Material 0 | Specular Glossiness On Material 1 | | :---: | :---: | :---: | :---: | -| [00](Material_Mixed_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=0) | [](Figures/SampleImages/Material_Mixed_00.png) | :white_check_mark: | :white_check_mark: | -| [01](Material_Mixed_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=1) | [](Figures/SampleImages/Material_Mixed_01.png) | :x: | :x: | -| [02](Material_Mixed_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=7&model=2) | [](Figures/SampleImages/Material_Mixed_02.png) | :white_check_mark: | :x: | +| [00](Material_Mixed_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=0) | [](Figures/SampleImages/Material_Mixed_00.png) | :white_check_mark: | :white_check_mark: | +| [01](Material_Mixed_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=1) | [](Figures/SampleImages/Material_Mixed_01.png) | :x: | :x: | +| [02](Material_Mixed_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=2) | [](Figures/SampleImages/Material_Mixed_02.png) | :white_check_mark: | :x: | diff --git a/Output/Material_SpecularGlossiness/README.md b/Output/Material_SpecularGlossiness/README.md index 8aa063ac..5cfd948b 100644 --- a/Output/Material_SpecularGlossiness/README.md +++ b/Output/Material_SpecularGlossiness/README.md @@ -14,18 +14,18 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex Color | Diffuse Texture | Diffuse Factor | Specular Glossiness Texture | Specular Factor | Glossiness Factor | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Material_SpecularGlossiness_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=0) | [](Figures/SampleImages/Material_SpecularGlossiness_00.png) | | | | | | | -| [01](Material_SpecularGlossiness_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=1) | [](Figures/SampleImages/Material_SpecularGlossiness_01.png) | Vector3 Float | | | | [0.0, 0.0, 0.0] | | -| [02](Material_SpecularGlossiness_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=2) | [](Figures/SampleImages/Material_SpecularGlossiness_02.png) | | [](Textures/Diffuse_Plane.png) | | | [0.0, 0.0, 0.0] | | -| [03](Material_SpecularGlossiness_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=3) | [](Figures/SampleImages/Material_SpecularGlossiness_03.png) | | | [0.2, 0.2, 0.2, 0.8] | | [0.0, 0.0, 0.0] | | -| [04](Material_SpecularGlossiness_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=4) | [](Figures/SampleImages/Material_SpecularGlossiness_04.png) | | | | [](Textures/SpecularGlossiness_Plane.png) | | | -| [05](Material_SpecularGlossiness_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=5) | [](Figures/SampleImages/Material_SpecularGlossiness_05.png) | | | | | [0.4, 0.4, 0.4] | | -| [06](Material_SpecularGlossiness_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=6) | [](Figures/SampleImages/Material_SpecularGlossiness_06.png) | | | | | | 0.3 | -| [07](Material_SpecularGlossiness_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=7) | [](Figures/SampleImages/Material_SpecularGlossiness_07.png) | Vector3 Float | [](Textures/Diffuse_Plane.png) | | | [0.0, 0.0, 0.0] | | -| [08](Material_SpecularGlossiness_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=8) | [](Figures/SampleImages/Material_SpecularGlossiness_08.png) | | [](Textures/Diffuse_Plane.png) | [0.2, 0.2, 0.2, 0.8] | | [0.0, 0.0, 0.0] | | -| [09](Material_SpecularGlossiness_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=9) | [](Figures/SampleImages/Material_SpecularGlossiness_09.png) | | [](Textures/Diffuse_Plane.png) | | | | 0.3 | -| [10](Material_SpecularGlossiness_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=10) | [](Figures/SampleImages/Material_SpecularGlossiness_10.png) | | | | [](Textures/SpecularGlossiness_Plane.png) | [0.4, 0.4, 0.4] | | -| [11](Material_SpecularGlossiness_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=11) | [](Figures/SampleImages/Material_SpecularGlossiness_11.png) | | | | [](Textures/SpecularGlossiness_Plane.png) | | 0.3 | -| [12](Material_SpecularGlossiness_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=12) | [](Figures/SampleImages/Material_SpecularGlossiness_12.png) | | [](Textures/Diffuse_Plane.png) | | | [0.4, 0.4, 0.4] | 0.3 | -| [13](Material_SpecularGlossiness_13.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=8&model=13) | [](Figures/SampleImages/Material_SpecularGlossiness_13.png) | Vector3 Float | [](Textures/Diffuse_Plane.png) | [0.2, 0.2, 0.2, 0.8] | [](Textures/SpecularGlossiness_Plane.png) | [0.4, 0.4, 0.4] | 0.3 | +| [00](Material_SpecularGlossiness_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=0) | [](Figures/SampleImages/Material_SpecularGlossiness_00.png) | | | | | | | +| [01](Material_SpecularGlossiness_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=1) | [](Figures/SampleImages/Material_SpecularGlossiness_01.png) | Vector3 Float | | | | [0.0, 0.0, 0.0] | | +| [02](Material_SpecularGlossiness_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=2) | [](Figures/SampleImages/Material_SpecularGlossiness_02.png) | | [](Textures/Diffuse_Plane.png) | | | [0.0, 0.0, 0.0] | | +| [03](Material_SpecularGlossiness_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=3) | [](Figures/SampleImages/Material_SpecularGlossiness_03.png) | | | [0.2, 0.2, 0.2, 0.8] | | [0.0, 0.0, 0.0] | | +| [04](Material_SpecularGlossiness_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=4) | [](Figures/SampleImages/Material_SpecularGlossiness_04.png) | | | | [](Textures/SpecularGlossiness_Plane.png) | | | +| [05](Material_SpecularGlossiness_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=5) | [](Figures/SampleImages/Material_SpecularGlossiness_05.png) | | | | | [0.4, 0.4, 0.4] | | +| [06](Material_SpecularGlossiness_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=6) | [](Figures/SampleImages/Material_SpecularGlossiness_06.png) | | | | | | 0.3 | +| [07](Material_SpecularGlossiness_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=7) | [](Figures/SampleImages/Material_SpecularGlossiness_07.png) | Vector3 Float | [](Textures/Diffuse_Plane.png) | | | [0.0, 0.0, 0.0] | | +| [08](Material_SpecularGlossiness_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=8) | [](Figures/SampleImages/Material_SpecularGlossiness_08.png) | | [](Textures/Diffuse_Plane.png) | [0.2, 0.2, 0.2, 0.8] | | [0.0, 0.0, 0.0] | | +| [09](Material_SpecularGlossiness_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=9) | [](Figures/SampleImages/Material_SpecularGlossiness_09.png) | | [](Textures/Diffuse_Plane.png) | | | | 0.3 | +| [10](Material_SpecularGlossiness_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=10) | [](Figures/SampleImages/Material_SpecularGlossiness_10.png) | | | | [](Textures/SpecularGlossiness_Plane.png) | [0.4, 0.4, 0.4] | | +| [11](Material_SpecularGlossiness_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=11) | [](Figures/SampleImages/Material_SpecularGlossiness_11.png) | | | | [](Textures/SpecularGlossiness_Plane.png) | | 0.3 | +| [12](Material_SpecularGlossiness_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=12) | [](Figures/SampleImages/Material_SpecularGlossiness_12.png) | | [](Textures/Diffuse_Plane.png) | | | [0.4, 0.4, 0.4] | 0.3 | +| [13](Material_SpecularGlossiness_13.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=13) | [](Figures/SampleImages/Material_SpecularGlossiness_13.png) | Vector3 Float | [](Textures/Diffuse_Plane.png) | [0.2, 0.2, 0.2, 0.8] | [](Textures/SpecularGlossiness_Plane.png) | [0.4, 0.4, 0.4] | 0.3 | diff --git a/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_03.png b/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_03.png index 70c15694..b2dfc684 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_03.png and b/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_03.png differ diff --git a/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_05.png b/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_05.png index c21275e3..2633c6d1 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_05.png and b/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_05.png differ diff --git a/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_06.png b/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_06.png index cca2b3e0..f545da4c 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_06.png and b/Output/Mesh_PrimitiveAttribute/Figures/SampleImages/Mesh_PrimitiveAttribute_06.png differ diff --git a/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_03.png b/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_03.png index 94d7901d..619b52b3 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_03.png and b/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_03.png differ diff --git a/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_05.png b/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_05.png index 440cf429..cbe9bc04 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_05.png and b/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_05.png differ diff --git a/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_06.png b/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_06.png index ece6d670..3ace56e7 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_06.png and b/Output/Mesh_PrimitiveAttribute/Figures/Thumbnails/Mesh_PrimitiveAttribute_06.png differ diff --git a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.bin b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.bin and b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.bin differ diff --git a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.gltf b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.gltf index 86a054ea..d488083f 100644 --- a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.gltf +++ b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_03.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Mesh_PrimitiveAttribute_03.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -94,10 +81,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.bin b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.bin index 5cd22e6b..d271b974 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.bin and b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.bin differ diff --git a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.gltf b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.gltf index e7a67fe0..b93c946c 100644 --- a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.gltf +++ b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_05.gltf @@ -21,18 +21,11 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -46,7 +39,7 @@ "buffers": [ { "uri": "Mesh_PrimitiveAttribute_05.bin", - "byteLength": 152 + "byteLength": 104 } ], "bufferViews": [ @@ -58,18 +51,12 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 128, + "byteOffset": 80, "byteLength": 24, "name": "Indices" } @@ -100,10 +87,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] diff --git a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.bin b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.bin index fc66e026..b51d16f5 100644 Binary files a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.bin and b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.bin differ diff --git a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.gltf b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.gltf index dae6e444..b81d8e4e 100644 --- a/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.gltf +++ b/Output/Mesh_PrimitiveAttribute/Mesh_PrimitiveAttribute_06.gltf @@ -21,25 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 4, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 4, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5126, "count": 4, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 4, + "bufferView": 3, "componentType": 5125, "count": 6, "type": "SCALAR", @@ -53,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitiveAttribute_06.bin", - "byteLength": 216 + "byteLength": 168 } ], "bufferViews": [ @@ -65,24 +58,18 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 48, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 96, "byteLength": 64, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 160, + "byteOffset": 112, "byteLength": 32, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 192, + "byteOffset": 144, "byteLength": 24, "name": "Indices" } @@ -113,11 +100,11 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "TEXCOORD_0": 3 + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 4, + "indices": 3, "material": 0 } ] diff --git a/Output/Mesh_PrimitiveAttribute/README.md b/Output/Mesh_PrimitiveAttribute/README.md index 46ae7b57..b1d9b770 100644 --- a/Output/Mesh_PrimitiveAttribute/README.md +++ b/Output/Mesh_PrimitiveAttribute/README.md @@ -15,11 +15,11 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex UV 0 | Vertex Normal | Vertex Tangent | Normal Texture | | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Mesh_PrimitiveAttribute_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=0) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_00.png) | Float | | | | -| [01](Mesh_PrimitiveAttribute_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=1) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_01.png) | Byte | | | | -| [02](Mesh_PrimitiveAttribute_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=2) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_02.png) | Short | | | | -| [03](Mesh_PrimitiveAttribute_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=3) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_03.png) | Float | :white_check_mark: | | | -| [04](Mesh_PrimitiveAttribute_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=4) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_04.png) | Float | | | [](Textures/Normal_Plane.png) | -| [05](Mesh_PrimitiveAttribute_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=5) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_05.png) | Float | :white_check_mark: | | [](Textures/Normal_Plane.png) | -| [06](Mesh_PrimitiveAttribute_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=9&model=6) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_06.png) | Float | :white_check_mark: | :white_check_mark: | [](Textures/Normal_Plane.png) | +| [00](Mesh_PrimitiveAttribute_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=0) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_00.png) | Float | | | | +| [01](Mesh_PrimitiveAttribute_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=1) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_01.png) | Byte | | | | +| [02](Mesh_PrimitiveAttribute_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=2) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_02.png) | Short | | | | +| [03](Mesh_PrimitiveAttribute_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=3) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_03.png) | Float | :white_check_mark: | | | +| [04](Mesh_PrimitiveAttribute_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=4) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_04.png) | Float | | | [](Textures/Normal_Plane.png) | +| [05](Mesh_PrimitiveAttribute_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=5) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_05.png) | Float | :white_check_mark: | | [](Textures/Normal_Plane.png) | +| [06](Mesh_PrimitiveAttribute_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=6) | [](Figures/SampleImages/Mesh_PrimitiveAttribute_06.png) | Float | :white_check_mark: | :white_check_mark: | [](Textures/Normal_Plane.png) | diff --git a/Output/Mesh_PrimitiveMode/README.md b/Output/Mesh_PrimitiveMode/README.md index 0f08db37..f948f2e5 100644 --- a/Output/Mesh_PrimitiveMode/README.md +++ b/Output/Mesh_PrimitiveMode/README.md @@ -14,20 +14,20 @@ The following table shows the properties that are set for a given model. | | Sample Image | Mode | Indices Values | Indices Component Type | | :---: | :---: | :---: | :---: | :---: | -| [00](Mesh_PrimitiveMode_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=0) | [](Figures/SampleImages/Mesh_PrimitiveMode_00.png) | Points | | | -| [01](Mesh_PrimitiveMode_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=1) | [](Figures/SampleImages/Mesh_PrimitiveMode_01.png) | Lines | | | -| [02](Mesh_PrimitiveMode_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=2) | [](Figures/SampleImages/Mesh_PrimitiveMode_02.png) | Line Loop | | | -| [03](Mesh_PrimitiveMode_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=3) | [](Figures/SampleImages/Mesh_PrimitiveMode_03.png) | Line Strip | | | -| [04](Mesh_PrimitiveMode_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=4) | [](Figures/SampleImages/Mesh_PrimitiveMode_04.png) | Triangle Strip | | | -| [05](Mesh_PrimitiveMode_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=5) | [](Figures/SampleImages/Mesh_PrimitiveMode_05.png) | Triangle Fan | | | -| [06](Mesh_PrimitiveMode_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=6) | [](Figures/SampleImages/Mesh_PrimitiveMode_06.png) | Triangles | | | -| [07](Mesh_PrimitiveMode_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=7) | [](Figures/SampleImages/Mesh_PrimitiveMode_07.png) | Points | [0 - 1023] | Int | -| [08](Mesh_PrimitiveMode_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=8) | [](Figures/SampleImages/Mesh_PrimitiveMode_08.png) | Lines | [0, 3, 3, 2, 2, 1, 1, 0] | Int | -| [09](Mesh_PrimitiveMode_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=9) | [](Figures/SampleImages/Mesh_PrimitiveMode_09.png) | Line Loop | [0, 3, 2, 1] | Int | -| [10](Mesh_PrimitiveMode_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=10) | [](Figures/SampleImages/Mesh_PrimitiveMode_10.png) | Line Strip | [0, 3, 2, 1, 0] | Int | -| [11](Mesh_PrimitiveMode_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=11) | [](Figures/SampleImages/Mesh_PrimitiveMode_11.png) | Triangle Strip | [0, 3, 1, 2] | Int | -| [12](Mesh_PrimitiveMode_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=12) | [](Figures/SampleImages/Mesh_PrimitiveMode_12.png) | Triangle Fan | [0, 3, 2, 1] | Int | -| [13](Mesh_PrimitiveMode_13.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=13) | [](Figures/SampleImages/Mesh_PrimitiveMode_13.png) | Triangles | [1, 0, 3, 1, 3, 2] | Int | -| [14](Mesh_PrimitiveMode_14.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=14) | [](Figures/SampleImages/Mesh_PrimitiveMode_14.png) | Triangles | [1, 0, 3, 1, 3, 2] | Byte | -| [15](Mesh_PrimitiveMode_15.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=10&model=15) | [](Figures/SampleImages/Mesh_PrimitiveMode_15.png) | Triangles | [1, 0, 3, 1, 3, 2] | Short | +| [00](Mesh_PrimitiveMode_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=0) | [](Figures/SampleImages/Mesh_PrimitiveMode_00.png) | Points | | | +| [01](Mesh_PrimitiveMode_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=1) | [](Figures/SampleImages/Mesh_PrimitiveMode_01.png) | Lines | | | +| [02](Mesh_PrimitiveMode_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=2) | [](Figures/SampleImages/Mesh_PrimitiveMode_02.png) | Line Loop | | | +| [03](Mesh_PrimitiveMode_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=3) | [](Figures/SampleImages/Mesh_PrimitiveMode_03.png) | Line Strip | | | +| [04](Mesh_PrimitiveMode_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=4) | [](Figures/SampleImages/Mesh_PrimitiveMode_04.png) | Triangle Strip | | | +| [05](Mesh_PrimitiveMode_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=5) | [](Figures/SampleImages/Mesh_PrimitiveMode_05.png) | Triangle Fan | | | +| [06](Mesh_PrimitiveMode_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=6) | [](Figures/SampleImages/Mesh_PrimitiveMode_06.png) | Triangles | | | +| [07](Mesh_PrimitiveMode_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=7) | [](Figures/SampleImages/Mesh_PrimitiveMode_07.png) | Points | [0 - 1023] | Int | +| [08](Mesh_PrimitiveMode_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=8) | [](Figures/SampleImages/Mesh_PrimitiveMode_08.png) | Lines | [0, 3, 3, 2, 2, 1, 1, 0] | Int | +| [09](Mesh_PrimitiveMode_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=9) | [](Figures/SampleImages/Mesh_PrimitiveMode_09.png) | Line Loop | [0, 3, 2, 1] | Int | +| [10](Mesh_PrimitiveMode_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=10) | [](Figures/SampleImages/Mesh_PrimitiveMode_10.png) | Line Strip | [0, 3, 2, 1, 0] | Int | +| [11](Mesh_PrimitiveMode_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=11) | [](Figures/SampleImages/Mesh_PrimitiveMode_11.png) | Triangle Strip | [0, 3, 1, 2] | Int | +| [12](Mesh_PrimitiveMode_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=12) | [](Figures/SampleImages/Mesh_PrimitiveMode_12.png) | Triangle Fan | [0, 3, 2, 1] | Int | +| [13](Mesh_PrimitiveMode_13.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=13) | [](Figures/SampleImages/Mesh_PrimitiveMode_13.png) | Triangles | [1, 0, 3, 1, 3, 2] | Int | +| [14](Mesh_PrimitiveMode_14.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=14) | [](Figures/SampleImages/Mesh_PrimitiveMode_14.png) | Triangles | [1, 0, 3, 1, 3, 2] | Byte | +| [15](Mesh_PrimitiveMode_15.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=15) | [](Figures/SampleImages/Mesh_PrimitiveMode_15.png) | Triangles | [1, 0, 3, 1, 3, 2] | Short | diff --git a/Output/Mesh_PrimitiveVertexColor/README.md b/Output/Mesh_PrimitiveVertexColor/README.md index e7df5c91..f6edac81 100644 --- a/Output/Mesh_PrimitiveVertexColor/README.md +++ b/Output/Mesh_PrimitiveVertexColor/README.md @@ -6,10 +6,10 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex Color | | :---: | :---: | :---: | -| [00](Mesh_PrimitiveVertexColor_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=0) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_00.png) | Vector3 Float | -| [01](Mesh_PrimitiveVertexColor_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=1) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_01.png) | Vector3 Byte | -| [02](Mesh_PrimitiveVertexColor_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=2) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_02.png) | Vector3 Short | -| [03](Mesh_PrimitiveVertexColor_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=3) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_03.png) | Vector4 Float | -| [04](Mesh_PrimitiveVertexColor_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=4) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_04.png) | Vector4 Byte | -| [05](Mesh_PrimitiveVertexColor_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=11&model=5) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_05.png) | Vector4 Short | +| [00](Mesh_PrimitiveVertexColor_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=0) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_00.png) | Vector3 Float | +| [01](Mesh_PrimitiveVertexColor_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=1) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_01.png) | Vector3 Byte | +| [02](Mesh_PrimitiveVertexColor_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=2) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_02.png) | Vector3 Short | +| [03](Mesh_PrimitiveVertexColor_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=3) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_03.png) | Vector4 Float | +| [04](Mesh_PrimitiveVertexColor_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=4) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_04.png) | Vector4 Byte | +| [05](Mesh_PrimitiveVertexColor_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=5) | [](Figures/SampleImages/Mesh_PrimitiveVertexColor_05.png) | Vector4 Short | diff --git a/Output/Mesh_Primitives/Figures/SampleImages/Mesh_Primitives_00.png b/Output/Mesh_Primitives/Figures/SampleImages/Mesh_Primitives_00.png index 10332342..a5bb5860 100644 Binary files a/Output/Mesh_Primitives/Figures/SampleImages/Mesh_Primitives_00.png and b/Output/Mesh_Primitives/Figures/SampleImages/Mesh_Primitives_00.png differ diff --git a/Output/Mesh_Primitives/Figures/Thumbnails/Mesh_Primitives_00.png b/Output/Mesh_Primitives/Figures/Thumbnails/Mesh_Primitives_00.png index 4aa55aa9..52209a3e 100644 Binary files a/Output/Mesh_Primitives/Figures/Thumbnails/Mesh_Primitives_00.png and b/Output/Mesh_Primitives/Figures/Thumbnails/Mesh_Primitives_00.png differ diff --git a/Output/Mesh_Primitives/Mesh_Primitives_00.bin b/Output/Mesh_Primitives/Mesh_Primitives_00.bin index 33bfe74c..e18c7b04 100644 Binary files a/Output/Mesh_Primitives/Mesh_Primitives_00.bin and b/Output/Mesh_Primitives/Mesh_Primitives_00.bin differ diff --git a/Output/Mesh_Primitives/Mesh_Primitives_00.gltf b/Output/Mesh_Primitives/Mesh_Primitives_00.gltf index e1e0d9fb..9420354c 100644 --- a/Output/Mesh_Primitives/Mesh_Primitives_00.gltf +++ b/Output/Mesh_Primitives/Mesh_Primitives_00.gltf @@ -23,30 +23,6 @@ "count": 3, "type": "SCALAR", "name": "Indices Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 3, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -56,7 +32,7 @@ "buffers": [ { "uri": "Mesh_Primitives_00.bin", - "byteLength": 96 + "byteLength": 48 } ], "bufferViews": [ @@ -70,18 +46,6 @@ "byteOffset": 36, "byteLength": 12, "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 48, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 84, - "byteLength": 12, - "name": "Indices" } ], "materials": [ @@ -118,9 +82,9 @@ }, { "attributes": { - "POSITION": 2 + "POSITION": 0 }, - "indices": 3, + "indices": 1, "material": 1 } ] diff --git a/Output/Mesh_Primitives/README.md b/Output/Mesh_Primitives/README.md index 7b7f726c..6225520b 100644 --- a/Output/Mesh_Primitives/README.md +++ b/Output/Mesh_Primitives/README.md @@ -25,5 +25,5 @@ The following table shows the properties that are set for a given model. | | Sample Image | Primitive 0 | Primitive 1 | | :---: | :---: | :---: | :---: | -| [00](Mesh_Primitives_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=12&model=0) | [](Figures/SampleImages/Mesh_Primitives_00.png) | Material 0 | Material 1 | +| [00](Mesh_Primitives_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=0) | [](Figures/SampleImages/Mesh_Primitives_00.png) | Material 0 | Material 1 | diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_00.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_00.png index 6d41f144..7f2be408 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_00.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_00.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_01.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_01.png index 1765c9d0..7f2be408 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_01.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_01.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_02.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_02.png index 22a0ac6d..96b36e18 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_02.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_02.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_03.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_03.png index 0b1c9a97..41c3f9d8 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_03.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_03.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_04.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_04.png index a66ec5c0..7f2be408 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_04.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_04.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_05.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_05.png index de47d9a0..96b36e18 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_05.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_05.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_06.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_06.png index 54c2ebf2..41c3f9d8 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_06.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_06.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_07.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_07.png index c3d8ce5d..41c3f9d8 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_07.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_07.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_08.png b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_08.png index d9d72b90..41c3f9d8 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_08.png and b/Output/Mesh_PrimitivesUV/Figures/SampleImages/Mesh_PrimitivesUV_08.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_00.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_00.png index b7ad401a..f392e838 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_00.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_00.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_01.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_01.png index b643635f..f392e838 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_01.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_01.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_02.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_02.png index fd76046e..d58c03e2 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_02.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_02.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_03.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_03.png index 42bcee82..6aba4905 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_03.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_03.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_04.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_04.png index 88870894..f392e838 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_04.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_04.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_05.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_05.png index 903b87ce..d58c03e2 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_05.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_05.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_06.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_06.png index 662c71fe..6aba4905 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_06.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_06.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_07.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_07.png index 1867d0d5..6aba4905 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_07.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_07.png differ diff --git a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_08.png b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_08.png index a8d8ad26..6aba4905 100644 Binary files a/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_08.png and b/Output/Mesh_PrimitivesUV/Figures/Thumbnails/Mesh_PrimitivesUV_08.png differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.bin index 33bfe74c..e18c7b04 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.gltf index b84af59b..0c2d1836 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_00.gltf @@ -23,30 +23,6 @@ "count": 3, "type": "SCALAR", "name": "Indices Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 3, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -56,7 +32,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_00.bin", - "byteLength": 96 + "byteLength": 48 } ], "bufferViews": [ @@ -70,18 +46,6 @@ "byteOffset": 36, "byteLength": 12, "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 48, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 84, - "byteLength": 12, - "name": "Indices" } ], "meshes": [ @@ -95,9 +59,9 @@ }, { "attributes": { - "POSITION": 2 + "POSITION": 0 }, - "indices": 3 + "indices": 1 } ] } diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.bin index 29c21d2f..9fb8231b 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.gltf index 2120b1bb..7a332f18 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_01.gltf @@ -21,56 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 4, + "bufferView": 2, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 5, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 7, + "bufferView": 3, "componentType": 5125, "count": 3, "type": "SCALAR", @@ -84,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_01.bin", - "byteLength": 240 + "byteLength": 120 } ], "bufferViews": [ @@ -96,42 +58,18 @@ { "buffer": 0, "byteOffset": 36, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 72, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 120, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 156, + "byteOffset": 84, "byteLength": 24, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 180, - "byteLength": 12, - "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 192, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 228, + "byteOffset": 108, "byteLength": 12, "name": "Indices" } @@ -162,19 +100,19 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "COLOR_0": 3, - "TEXCOORD_0": 4 + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2 }, - "indices": 5, + "indices": 3, "material": 0 }, { "attributes": { - "POSITION": 6 + "POSITION": 0 }, - "indices": 7 + "indices": 3 } ] } diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.bin index ae444b6b..e3d2ff00 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.gltf index b499a514..ce21ecd7 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_02.gltf @@ -28,53 +28,15 @@ "bufferView": 2, "componentType": 5126, "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 5, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 6, + "bufferView": 3, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" - }, - { - "bufferView": 7, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -84,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_02.bin", - "byteLength": 240 + "byteLength": 120 } ], "bufferViews": [ @@ -102,38 +64,14 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 84, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 120, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 168, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 204, + "byteOffset": 96, "byteLength": 24, "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 228, - "byteLength": 12, - "name": "Indices" } ], "images": [ @@ -167,13 +105,13 @@ }, { "attributes": { - "POSITION": 2, - "NORMAL": 3, - "TANGENT": 4, - "COLOR_0": 5, - "TEXCOORD_0": 6 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 2, + "COLOR_0": 2, + "TEXCOORD_0": 3 }, - "indices": 7, + "indices": 1, "material": 0 } ] diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.bin index 8acae6b3..9fb8231b 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.gltf index 9f951127..b7c736a1 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_03.gltf @@ -21,84 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 3, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 9, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 10, + "bufferView": 2, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 11, + "bufferView": 3, "componentType": 5125, "count": 3, "type": "SCALAR", @@ -112,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_03.bin", - "byteLength": 384 + "byteLength": 120 } ], "bufferViews": [ @@ -124,66 +58,18 @@ { "buffer": 0, "byteOffset": 36, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 72, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 120, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 156, + "byteOffset": 84, "byteLength": 24, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 180, - "byteLength": 12, - "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 192, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 228, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 264, - "byteLength": 48, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 312, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 348, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 372, + "byteOffset": 108, "byteLength": 12, "name": "Indices" } @@ -197,16 +83,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - }, - "normalTexture": { - "index": 1 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -224,24 +100,24 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "COLOR_0": 3, - "TEXCOORD_0": 4 + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2 }, - "indices": 5, + "indices": 3, "material": 0 }, { "attributes": { - "POSITION": 6, - "NORMAL": 7, - "TANGENT": 8, - "COLOR_0": 9, - "TEXCOORD_0": 10 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2 }, - "indices": 11, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.bin index dc338923..9fb8231b 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.gltf index 9bf3eca6..fdd09662 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_04.gltf @@ -21,63 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 4, + "bufferView": 2, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 5, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 1" - }, - { - "bufferView": 6, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 8, + "bufferView": 3, "componentType": 5125, "count": 3, "type": "SCALAR", @@ -91,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_04.bin", - "byteLength": 264 + "byteLength": 120 } ], "bufferViews": [ @@ -103,48 +58,18 @@ { "buffer": 0, "byteOffset": 36, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 72, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 120, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 156, + "byteOffset": 84, "byteLength": 24, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 180, - "byteLength": 24, - "name": "Texture Coords 1" - }, - { - "buffer": 0, - "byteOffset": 204, - "byteLength": 12, - "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 216, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 252, + "byteOffset": 108, "byteLength": 12, "name": "Indices" } @@ -177,20 +102,20 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "COLOR_0": 3, - "TEXCOORD_0": 4, - "TEXCOORD_1": 5 + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2, + "TEXCOORD_1": 2 }, - "indices": 6, + "indices": 3, "material": 0 }, { "attributes": { - "POSITION": 7 + "POSITION": 0 }, - "indices": 8 + "indices": 3 } ] } diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.bin index e5fd3c65..e3d2ff00 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.gltf index 3a6dda86..215fbd57 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_05.gltf @@ -28,60 +28,15 @@ "bufferView": 2, "componentType": 5126, "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 5, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 6, + "bufferView": 3, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 1" - }, - { - "bufferView": 8, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" } ], "asset": { @@ -91,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_05.bin", - "byteLength": 264 + "byteLength": 120 } ], "bufferViews": [ @@ -109,44 +64,14 @@ { "buffer": 0, "byteOffset": 48, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 84, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 120, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 168, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 204, + "byteOffset": 96, "byteLength": 24, "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 228, - "byteLength": 24, - "name": "Texture Coords 1" - }, - { - "buffer": 0, - "byteOffset": 252, - "byteLength": 12, - "name": "Indices" } ], "images": [ @@ -182,14 +107,14 @@ }, { "attributes": { - "POSITION": 2, - "NORMAL": 3, - "TANGENT": 4, - "COLOR_0": 5, - "TEXCOORD_0": 6, - "TEXCOORD_1": 7 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 2, + "COLOR_0": 2, + "TEXCOORD_0": 3, + "TEXCOORD_1": 3 }, - "indices": 8, + "indices": 1, "material": 0 } ] diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.bin index 8edb2eff..9fb8231b 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.gltf index e110d6de..861e3e50 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_06.gltf @@ -21,91 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 9, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 10, + "bufferView": 2, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 11, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 1" - }, - { - "bufferView": 12, + "bufferView": 3, "componentType": 5125, "count": 3, "type": "SCALAR", @@ -119,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_06.bin", - "byteLength": 408 + "byteLength": 120 } ], "bufferViews": [ @@ -131,72 +58,18 @@ { "buffer": 0, "byteOffset": 36, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 72, - "byteLength": 48, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 120, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 156, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 180, - "byteLength": 12, - "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 192, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 228, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 264, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 312, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 348, + "byteOffset": 84, "byteLength": 24, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 372, - "byteLength": 24, - "name": "Texture Coords 1" - }, - { - "buffer": 0, - "byteOffset": 396, + "byteOffset": 108, "byteLength": 12, "name": "Indices" } @@ -239,24 +112,24 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "COLOR_0": 3, - "TEXCOORD_0": 4 + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2 }, - "indices": 5, + "indices": 3, "material": 0 }, { "attributes": { - "POSITION": 6, - "NORMAL": 7, - "TANGENT": 8, - "COLOR_0": 9, - "TEXCOORD_0": 10, - "TEXCOORD_1": 11 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2, + "TEXCOORD_1": 2 }, - "indices": 12, + "indices": 3, "material": 1 } ] diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.bin index 762d7c1d..9fb8231b 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.gltf index 8985cc16..cea671f0 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_07.gltf @@ -21,91 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 1" - }, - { - "bufferView": 6, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 9, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 10, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 11, + "bufferView": 2, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 12, + "bufferView": 3, "componentType": 5125, "count": 3, "type": "SCALAR", @@ -119,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_07.bin", - "byteLength": 408 + "byteLength": 120 } ], "bufferViews": [ @@ -131,72 +58,18 @@ { "buffer": 0, "byteOffset": 36, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 72, - "byteLength": 48, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 120, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 156, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 180, - "byteLength": 24, - "name": "Texture Coords 1" - }, - { - "buffer": 0, - "byteOffset": 204, - "byteLength": 12, - "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 216, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 252, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 288, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 336, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 372, + "byteOffset": 84, "byteLength": 24, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 396, + "byteOffset": 108, "byteLength": 12, "name": "Indices" } @@ -239,24 +112,24 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "COLOR_0": 3, - "TEXCOORD_0": 4, - "TEXCOORD_1": 5 + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2, + "TEXCOORD_1": 2 }, - "indices": 6, + "indices": 3, "material": 0 }, { "attributes": { - "POSITION": 7, - "NORMAL": 8, - "TANGENT": 9, - "COLOR_0": 10, - "TEXCOORD_0": 11 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2 }, - "indices": 12, + "indices": 3, "material": 1 } ] diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.bin b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.bin index 12bfddad..9fb8231b 100644 Binary files a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.bin and b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.bin differ diff --git a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.gltf b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.gltf index 42abf4c3..60088cd7 100644 --- a/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.gltf +++ b/Output/Mesh_PrimitivesUV/Mesh_PrimitivesUV_08.gltf @@ -21,98 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 3, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 1" - }, - { - "bufferView": 6, - "componentType": 5125, - "count": 3, - "type": "SCALAR", - "name": "Indices Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "max": [ - 0.5, - 0.5, - 0.0 - ], - "min": [ - -0.5, - -0.5, - 0.0 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 9, - "componentType": 5126, - "count": 3, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 10, - "componentType": 5126, - "count": 3, - "type": "VEC3", - "name": "Colors Accessor" - }, - { - "bufferView": 11, + "bufferView": 2, "componentType": 5126, "count": 3, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 12, - "componentType": 5126, - "count": 3, - "type": "VEC2", - "name": "UV Accessor 1" - }, - { - "bufferView": 13, + "bufferView": 3, "componentType": 5125, "count": 3, "type": "SCALAR", @@ -126,7 +46,7 @@ "buffers": [ { "uri": "Mesh_PrimitivesUV_08.bin", - "byteLength": 432 + "byteLength": 120 } ], "bufferViews": [ @@ -138,78 +58,18 @@ { "buffer": 0, "byteOffset": 36, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 72, "byteLength": 48, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 120, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 156, + "byteOffset": 84, "byteLength": 24, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 180, - "byteLength": 24, - "name": "Texture Coords 1" - }, - { - "buffer": 0, - "byteOffset": 204, - "byteLength": 12, - "name": "Indices" - }, - { - "buffer": 0, - "byteOffset": 216, - "byteLength": 36, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 252, - "byteLength": 36, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 288, - "byteLength": 48, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 336, - "byteLength": 36, - "name": "Colors" - }, - { - "buffer": 0, - "byteOffset": 372, - "byteLength": 24, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 396, - "byteLength": 24, - "name": "Texture Coords 1" - }, - { - "buffer": 0, - "byteOffset": 420, + "byteOffset": 108, "byteLength": 12, "name": "Indices" } @@ -223,18 +83,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0, - "texCoord": 1 - } - }, - "normalTexture": { - "index": 1, - "texCoord": 1 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -254,26 +102,26 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "COLOR_0": 3, - "TEXCOORD_0": 4, - "TEXCOORD_1": 5 + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2, + "TEXCOORD_1": 2 }, - "indices": 6, + "indices": 3, "material": 0 }, { "attributes": { - "POSITION": 7, - "NORMAL": 8, - "TANGENT": 9, - "COLOR_0": 10, - "TEXCOORD_0": 11, - "TEXCOORD_1": 12 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "COLOR_0": 1, + "TEXCOORD_0": 2, + "TEXCOORD_1": 2 }, - "indices": 13, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Mesh_PrimitivesUV/README.md b/Output/Mesh_PrimitivesUV/README.md index 0d914f64..b8e171ab 100644 --- a/Output/Mesh_PrimitivesUV/README.md +++ b/Output/Mesh_PrimitivesUV/README.md @@ -33,13 +33,13 @@ The following table shows the properties that are set for a given model. | | Sample Image | Primitive 0 Vertex UV 0 | Primitive 1 Vertex UV 0 | Primitive 0 Vertex UV 1 | Primitive 1 Vertex UV 1 | | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Mesh_PrimitivesUV_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=0) | [](Figures/SampleImages/Mesh_PrimitivesUV_00.png) | | | | | -| [01](Mesh_PrimitivesUV_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=1) | [](Figures/SampleImages/Mesh_PrimitivesUV_01.png) | :white_check_mark: | | | | -| [02](Mesh_PrimitivesUV_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=2) | [](Figures/SampleImages/Mesh_PrimitivesUV_02.png) | | :white_check_mark: | | | -| [03](Mesh_PrimitivesUV_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=3) | [](Figures/SampleImages/Mesh_PrimitivesUV_03.png) | :white_check_mark: | :white_check_mark: | | | -| [04](Mesh_PrimitivesUV_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=4) | [](Figures/SampleImages/Mesh_PrimitivesUV_04.png) | :white_check_mark: | | :white_check_mark: | | -| [05](Mesh_PrimitivesUV_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=5) | [](Figures/SampleImages/Mesh_PrimitivesUV_05.png) | | :white_check_mark: | | :white_check_mark: | -| [06](Mesh_PrimitivesUV_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=6) | [](Figures/SampleImages/Mesh_PrimitivesUV_06.png) | :white_check_mark: | :white_check_mark: | | :white_check_mark: | -| [07](Mesh_PrimitivesUV_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=7) | [](Figures/SampleImages/Mesh_PrimitivesUV_07.png) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | -| [08](Mesh_PrimitivesUV_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=13&model=8) | [](Figures/SampleImages/Mesh_PrimitivesUV_08.png) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | +| [00](Mesh_PrimitivesUV_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=0) | [](Figures/SampleImages/Mesh_PrimitivesUV_00.png) | | | | | +| [01](Mesh_PrimitivesUV_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=1) | [](Figures/SampleImages/Mesh_PrimitivesUV_01.png) | :white_check_mark: | | | | +| [02](Mesh_PrimitivesUV_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=2) | [](Figures/SampleImages/Mesh_PrimitivesUV_02.png) | | :white_check_mark: | | | +| [03](Mesh_PrimitivesUV_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=3) | [](Figures/SampleImages/Mesh_PrimitivesUV_03.png) | :white_check_mark: | :white_check_mark: | | | +| [04](Mesh_PrimitivesUV_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=4) | [](Figures/SampleImages/Mesh_PrimitivesUV_04.png) | :white_check_mark: | | :white_check_mark: | | +| [05](Mesh_PrimitivesUV_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=5) | [](Figures/SampleImages/Mesh_PrimitivesUV_05.png) | | :white_check_mark: | | :white_check_mark: | +| [06](Mesh_PrimitivesUV_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=6) | [](Figures/SampleImages/Mesh_PrimitivesUV_06.png) | :white_check_mark: | :white_check_mark: | | :white_check_mark: | +| [07](Mesh_PrimitivesUV_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=7) | [](Figures/SampleImages/Mesh_PrimitivesUV_07.png) | :white_check_mark: | :white_check_mark: | :white_check_mark: | | +| [08](Mesh_PrimitivesUV_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=8) | [](Figures/SampleImages/Mesh_PrimitivesUV_08.png) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | diff --git a/Output/Node_Attribute/Node_Attribute_00.bin b/Output/Node_Attribute/Node_Attribute_00.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_00.bin and b/Output/Node_Attribute/Node_Attribute_00.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_00.gltf b/Output/Node_Attribute/Node_Attribute_00.gltf index e1ff21ef..25606901 100644 --- a/Output/Node_Attribute/Node_Attribute_00.gltf +++ b/Output/Node_Attribute/Node_Attribute_00.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_00.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_01.bin b/Output/Node_Attribute/Node_Attribute_01.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_01.bin and b/Output/Node_Attribute/Node_Attribute_01.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_01.gltf b/Output/Node_Attribute/Node_Attribute_01.gltf index f20123d3..a4880e3d 100644 --- a/Output/Node_Attribute/Node_Attribute_01.gltf +++ b/Output/Node_Attribute/Node_Attribute_01.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_01.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_02.bin b/Output/Node_Attribute/Node_Attribute_02.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_02.bin and b/Output/Node_Attribute/Node_Attribute_02.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_02.gltf b/Output/Node_Attribute/Node_Attribute_02.gltf index cb6080ab..cdc8b8e6 100644 --- a/Output/Node_Attribute/Node_Attribute_02.gltf +++ b/Output/Node_Attribute/Node_Attribute_02.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_02.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_03.bin b/Output/Node_Attribute/Node_Attribute_03.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_03.bin and b/Output/Node_Attribute/Node_Attribute_03.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_03.gltf b/Output/Node_Attribute/Node_Attribute_03.gltf index 62a1e238..ef9134f7 100644 --- a/Output/Node_Attribute/Node_Attribute_03.gltf +++ b/Output/Node_Attribute/Node_Attribute_03.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_03.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_04.bin b/Output/Node_Attribute/Node_Attribute_04.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_04.bin and b/Output/Node_Attribute/Node_Attribute_04.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_04.gltf b/Output/Node_Attribute/Node_Attribute_04.gltf index 4dad8cd0..4ebaea0c 100644 --- a/Output/Node_Attribute/Node_Attribute_04.gltf +++ b/Output/Node_Attribute/Node_Attribute_04.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_04.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_05.bin b/Output/Node_Attribute/Node_Attribute_05.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_05.bin and b/Output/Node_Attribute/Node_Attribute_05.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_05.gltf b/Output/Node_Attribute/Node_Attribute_05.gltf index 0876a85e..363898af 100644 --- a/Output/Node_Attribute/Node_Attribute_05.gltf +++ b/Output/Node_Attribute/Node_Attribute_05.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_05.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_06.bin b/Output/Node_Attribute/Node_Attribute_06.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_06.bin and b/Output/Node_Attribute/Node_Attribute_06.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_06.gltf b/Output/Node_Attribute/Node_Attribute_06.gltf index c5d42ef8..12608571 100644 --- a/Output/Node_Attribute/Node_Attribute_06.gltf +++ b/Output/Node_Attribute/Node_Attribute_06.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_06.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_07.bin b/Output/Node_Attribute/Node_Attribute_07.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_07.bin and b/Output/Node_Attribute/Node_Attribute_07.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_07.gltf b/Output/Node_Attribute/Node_Attribute_07.gltf index e7bdcb57..74b9ce6d 100644 --- a/Output/Node_Attribute/Node_Attribute_07.gltf +++ b/Output/Node_Attribute/Node_Attribute_07.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_07.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/Node_Attribute_08.bin b/Output/Node_Attribute/Node_Attribute_08.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_Attribute/Node_Attribute_08.bin and b/Output/Node_Attribute/Node_Attribute_08.bin differ diff --git a/Output/Node_Attribute/Node_Attribute_08.gltf b/Output/Node_Attribute/Node_Attribute_08.gltf index a3479b86..9e357f61 100644 --- a/Output/Node_Attribute/Node_Attribute_08.gltf +++ b/Output/Node_Attribute/Node_Attribute_08.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_Attribute_08.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -116,13 +80,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - } - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -148,11 +105,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_Attribute/README.md b/Output/Node_Attribute/README.md index 0ff30b4d..06fd8924 100644 --- a/Output/Node_Attribute/README.md +++ b/Output/Node_Attribute/README.md @@ -7,13 +7,13 @@ The following table shows the properties that are set for a given model. | | Sample Image | Matrix | Translation | Rotation | Scale | | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Node_Attribute_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=0) | [](Figures/SampleImages/Node_Attribute_00.png) | | | | | -| [01](Node_Attribute_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=1) | [](Figures/SampleImages/Node_Attribute_01.png) | | [-2.0, 2.0, -2.0] | | | -| [02](Node_Attribute_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=2) | [](Figures/SampleImages/Node_Attribute_02.png) | | [-2.0, 0.0, 0.0] | | | -| [03](Node_Attribute_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=3) | [](Figures/SampleImages/Node_Attribute_03.png) | | [0.0, 2.0, 0.0] | | | -| [04](Node_Attribute_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=4) | [](Figures/SampleImages/Node_Attribute_04.png) | | [0.0, 0.0, -2.0] | | | -| [05](Node_Attribute_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=5) | [](Figures/SampleImages/Node_Attribute_05.png) | | | [0.0, 1.0, 0.0, 0.0] | | -| [06](Node_Attribute_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=6) | [](Figures/SampleImages/Node_Attribute_06.png) | | | | [1.2, 1.2, 1.2] | -| [07](Node_Attribute_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=7) | [](Figures/SampleImages/Node_Attribute_07.png) | | [-2.0, 2.0, -2.0] | [0.0, 1.0, 0.0, 0.0] | [1.2, 1.2, 1.2] | -| [08](Node_Attribute_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=14&model=8) | [](Figures/SampleImages/Node_Attribute_08.png) | [-1.2, 0.0, 0.0, 0.0]
[0.0, 1.2, 0.0, 0.0]
[0.0, 0.0, -1.2, 0.0]
[-2.0, 2.0, -2.0, 1.0]
| | | | +| [00](Node_Attribute_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=0) | [](Figures/SampleImages/Node_Attribute_00.png) | | | | | +| [01](Node_Attribute_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=1) | [](Figures/SampleImages/Node_Attribute_01.png) | | [-2.0, 2.0, -2.0] | | | +| [02](Node_Attribute_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=2) | [](Figures/SampleImages/Node_Attribute_02.png) | | [-2.0, 0.0, 0.0] | | | +| [03](Node_Attribute_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=3) | [](Figures/SampleImages/Node_Attribute_03.png) | | [0.0, 2.0, 0.0] | | | +| [04](Node_Attribute_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=4) | [](Figures/SampleImages/Node_Attribute_04.png) | | [0.0, 0.0, -2.0] | | | +| [05](Node_Attribute_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=5) | [](Figures/SampleImages/Node_Attribute_05.png) | | | [0.0, 1.0, 0.0, 0.0] | | +| [06](Node_Attribute_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=6) | [](Figures/SampleImages/Node_Attribute_06.png) | | | | [1.2, 1.2, 1.2] | +| [07](Node_Attribute_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=7) | [](Figures/SampleImages/Node_Attribute_07.png) | | [-2.0, 2.0, -2.0] | [0.0, 1.0, 0.0, 0.0] | [1.2, 1.2, 1.2] | +| [08](Node_Attribute_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=8) | [](Figures/SampleImages/Node_Attribute_08.png) | [-1.2, 0.0, 0.0, 0.0]
[0.0, 1.2, 0.0, 0.0]
[0.0, 0.0, -1.2, 0.0]
[-2.0, 2.0, -2.0, 1.0]
| | | | diff --git a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_07.png b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_07.png index a197e1b1..852b3c01 100644 Binary files a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_07.png and b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_07.png differ diff --git a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_08.png b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_08.png index ad161cc4..cca14460 100644 Binary files a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_08.png and b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_08.png differ diff --git a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_09.png b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_09.png index 521fecfb..087074de 100644 Binary files a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_09.png and b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_09.png differ diff --git a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_10.png b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_10.png index b3bf24e1..243a2bf0 100644 Binary files a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_10.png and b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_10.png differ diff --git a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_11.png b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_11.png index 77f8c0b8..59dee9a8 100644 Binary files a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_11.png and b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_11.png differ diff --git a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_12.png b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_12.png index 13c23af4..aa2a345c 100644 Binary files a/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_12.png and b/Output/Node_NegativeScale/Figures/SampleImages/Node_NegativeScale_12.png differ diff --git a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_07.png b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_07.png index b7774038..06688d03 100644 Binary files a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_07.png and b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_07.png differ diff --git a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_08.png b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_08.png index 616a4963..f7cf00ba 100644 Binary files a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_08.png and b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_08.png differ diff --git a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_09.png b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_09.png index 48c75819..9c541a5e 100644 Binary files a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_09.png and b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_09.png differ diff --git a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_10.png b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_10.png index 6c03282a..94285620 100644 Binary files a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_10.png and b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_10.png differ diff --git a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_11.png b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_11.png index 616a4963..363c8074 100644 Binary files a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_11.png and b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_11.png differ diff --git a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_12.png b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_12.png index 48c75819..b51a0903 100644 Binary files a/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_12.png and b/Output/Node_NegativeScale/Figures/Thumbnails/Node_NegativeScale_12.png differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_00.bin b/Output/Node_NegativeScale/Node_NegativeScale_00.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_00.bin and b/Output/Node_NegativeScale/Node_NegativeScale_00.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_00.gltf b/Output/Node_NegativeScale/Node_NegativeScale_00.gltf index 1a252aef..a07f568c 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_00.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_00.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_00.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_01.bin b/Output/Node_NegativeScale/Node_NegativeScale_01.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_01.bin and b/Output/Node_NegativeScale/Node_NegativeScale_01.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_01.gltf b/Output/Node_NegativeScale/Node_NegativeScale_01.gltf index 9ceb4001..a1d280d5 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_01.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_01.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_01.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_02.bin b/Output/Node_NegativeScale/Node_NegativeScale_02.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_02.bin and b/Output/Node_NegativeScale/Node_NegativeScale_02.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_02.gltf b/Output/Node_NegativeScale/Node_NegativeScale_02.gltf index dcc80543..41c6dea0 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_02.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_02.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_02.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_03.bin b/Output/Node_NegativeScale/Node_NegativeScale_03.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_03.bin and b/Output/Node_NegativeScale/Node_NegativeScale_03.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_03.gltf b/Output/Node_NegativeScale/Node_NegativeScale_03.gltf index c6a2dfd1..7838ea29 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_03.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_03.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_03.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_04.bin b/Output/Node_NegativeScale/Node_NegativeScale_04.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_04.bin and b/Output/Node_NegativeScale/Node_NegativeScale_04.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_04.gltf b/Output/Node_NegativeScale/Node_NegativeScale_04.gltf index 024089fe..51eaf094 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_04.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_04.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_04.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_05.bin b/Output/Node_NegativeScale/Node_NegativeScale_05.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_05.bin and b/Output/Node_NegativeScale/Node_NegativeScale_05.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_05.gltf b/Output/Node_NegativeScale/Node_NegativeScale_05.gltf index 905e42bc..03646b4e 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_05.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_05.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_05.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_06.bin b/Output/Node_NegativeScale/Node_NegativeScale_06.bin index a4d5decb..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_06.bin and b/Output/Node_NegativeScale/Node_NegativeScale_06.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_06.gltf b/Output/Node_NegativeScale/Node_NegativeScale_06.gltf index 73045770..626360e9 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_06.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_06.gltf @@ -33,30 +33,6 @@ }, { "bufferView": 3, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 5, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -70,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_06.bin", - "byteLength": 4568 + "byteLength": 2608 } ], "bufferViews": [ @@ -94,18 +70,6 @@ { "buffer": 0, "byteOffset": 2032, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 3208, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 3992, "byteLength": 576, "name": "Indices" } @@ -122,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -166,11 +117,11 @@ "primitives": [ { "attributes": { - "POSITION": 3, - "TEXCOORD_0": 4 + "POSITION": 0, + "TEXCOORD_0": 1 }, - "indices": 5, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_07.bin b/Output/Node_NegativeScale/Node_NegativeScale_07.bin index 12c87c62..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_07.bin and b/Output/Node_NegativeScale/Node_NegativeScale_07.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_07.gltf b/Output/Node_NegativeScale/Node_NegativeScale_07.gltf index ed0339bc..24775a66 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_07.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_07.gltf @@ -21,56 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 98, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 18, "type": "SCALAR", "name": "Indices Accessor" }, { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 5, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 7, + "bufferView": 3, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -84,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_07.bin", - "byteLength": 6920 + "byteLength": 2608 } ], "bufferViews": [ @@ -96,42 +58,18 @@ { "buffer": 0, "byteOffset": 1176, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 2352, "byteLength": 784, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 3136, + "byteOffset": 1960, "byteLength": 72, "name": "Indices" }, { "buffer": 0, - "byteOffset": 3208, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 4384, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 5560, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 6344, + "byteOffset": 2032, "byteLength": 576, "name": "Indices" } @@ -148,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -181,10 +106,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] @@ -193,12 +118,12 @@ "primitives": [ { "attributes": { - "POSITION": 4, - "NORMAL": 5, - "TEXCOORD_0": 6 + "POSITION": 0, + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 7, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_08.bin b/Output/Node_NegativeScale/Node_NegativeScale_08.bin index 12c87c62..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_08.bin and b/Output/Node_NegativeScale/Node_NegativeScale_08.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_08.gltf b/Output/Node_NegativeScale/Node_NegativeScale_08.gltf index 9dd72101..c2fdfa2b 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_08.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_08.gltf @@ -21,56 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 98, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 18, "type": "SCALAR", "name": "Indices Accessor" }, { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 5, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 7, + "bufferView": 3, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -84,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_08.bin", - "byteLength": 6920 + "byteLength": 2608 } ], "bufferViews": [ @@ -96,42 +58,18 @@ { "buffer": 0, "byteOffset": 1176, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 2352, "byteLength": 784, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 3136, + "byteOffset": 1960, "byteLength": 72, "name": "Indices" }, { "buffer": 0, - "byteOffset": 3208, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 4384, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 5560, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 6344, + "byteOffset": 2032, "byteLength": 576, "name": "Indices" } @@ -148,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -181,10 +106,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] @@ -193,12 +118,12 @@ "primitives": [ { "attributes": { - "POSITION": 4, - "NORMAL": 5, - "TEXCOORD_0": 6 + "POSITION": 0, + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 7, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_09.bin b/Output/Node_NegativeScale/Node_NegativeScale_09.bin index 12c87c62..e764ea3a 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_09.bin and b/Output/Node_NegativeScale/Node_NegativeScale_09.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_09.gltf b/Output/Node_NegativeScale/Node_NegativeScale_09.gltf index 27b32f8e..36138034 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_09.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_09.gltf @@ -21,56 +21,18 @@ "bufferView": 1, "componentType": 5126, "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 98, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5125, "count": 18, "type": "SCALAR", "name": "Indices Accessor" }, { - "bufferView": 4, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 5, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 7, + "bufferView": 3, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -84,7 +46,7 @@ "buffers": [ { "uri": "Node_NegativeScale_09.bin", - "byteLength": 6920 + "byteLength": 2608 } ], "bufferViews": [ @@ -96,42 +58,18 @@ { "buffer": 0, "byteOffset": 1176, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 2352, "byteLength": 784, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 3136, + "byteOffset": 1960, "byteLength": 72, "name": "Indices" }, { "buffer": 0, - "byteOffset": 3208, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 4384, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 5560, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 6344, + "byteOffset": 2032, "byteLength": 576, "name": "Indices" } @@ -148,19 +86,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -181,10 +106,10 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TEXCOORD_0": 2 + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 3, + "indices": 2, "material": 0 } ] @@ -193,12 +118,12 @@ "primitives": [ { "attributes": { - "POSITION": 4, - "NORMAL": 5, - "TEXCOORD_0": 6 + "POSITION": 0, + "NORMAL": 0, + "TEXCOORD_0": 1 }, - "indices": 7, - "material": 1 + "indices": 3, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_10.bin b/Output/Node_NegativeScale/Node_NegativeScale_10.bin index f45e02e0..7654e260 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_10.bin and b/Output/Node_NegativeScale/Node_NegativeScale_10.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_10.gltf b/Output/Node_NegativeScale/Node_NegativeScale_10.gltf index d227e7e7..163409eb 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_10.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_10.gltf @@ -21,70 +21,25 @@ "bufferView": 1, "componentType": 5126, "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 98, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5126, "count": 98, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 4, + "bufferView": 3, "componentType": 5125, "count": 18, "type": "SCALAR", "name": "Indices Accessor" }, { - "bufferView": 5, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 98, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 9, + "bufferView": 4, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -98,7 +53,7 @@ "buffers": [ { "uri": "Node_NegativeScale_10.bin", - "byteLength": 10056 + "byteLength": 4176 } ], "bufferViews": [ @@ -110,54 +65,24 @@ { "buffer": 0, "byteOffset": 1176, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 2352, "byteLength": 1568, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 3920, + "byteOffset": 2744, "byteLength": 784, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 4704, + "byteOffset": 3528, "byteLength": 72, "name": "Indices" }, { "buffer": 0, - "byteOffset": 4776, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 5952, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 7128, - "byteLength": 1568, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 8696, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 9480, + "byteOffset": 3600, "byteLength": 576, "name": "Indices" } @@ -174,19 +99,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -207,11 +119,11 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "TEXCOORD_0": 3 + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 4, + "indices": 3, "material": 0 } ] @@ -220,13 +132,13 @@ "primitives": [ { "attributes": { - "POSITION": 5, - "NORMAL": 6, - "TANGENT": 7, - "TEXCOORD_0": 8 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 9, - "material": 1 + "indices": 4, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_11.bin b/Output/Node_NegativeScale/Node_NegativeScale_11.bin index f45e02e0..7654e260 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_11.bin and b/Output/Node_NegativeScale/Node_NegativeScale_11.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_11.gltf b/Output/Node_NegativeScale/Node_NegativeScale_11.gltf index 5c90b80d..c8e5879d 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_11.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_11.gltf @@ -21,70 +21,25 @@ "bufferView": 1, "componentType": 5126, "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 98, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5126, "count": 98, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 4, + "bufferView": 3, "componentType": 5125, "count": 18, "type": "SCALAR", "name": "Indices Accessor" }, { - "bufferView": 5, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 98, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 9, + "bufferView": 4, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -98,7 +53,7 @@ "buffers": [ { "uri": "Node_NegativeScale_11.bin", - "byteLength": 10056 + "byteLength": 4176 } ], "bufferViews": [ @@ -110,54 +65,24 @@ { "buffer": 0, "byteOffset": 1176, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 2352, "byteLength": 1568, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 3920, + "byteOffset": 2744, "byteLength": 784, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 4704, + "byteOffset": 3528, "byteLength": 72, "name": "Indices" }, { "buffer": 0, - "byteOffset": 4776, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 5952, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 7128, - "byteLength": 1568, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 8696, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 9480, + "byteOffset": 3600, "byteLength": 576, "name": "Indices" } @@ -174,19 +99,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -207,11 +119,11 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "TEXCOORD_0": 3 + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 4, + "indices": 3, "material": 0 } ] @@ -220,13 +132,13 @@ "primitives": [ { "attributes": { - "POSITION": 5, - "NORMAL": 6, - "TANGENT": 7, - "TEXCOORD_0": 8 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 9, - "material": 1 + "indices": 4, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/Node_NegativeScale_12.bin b/Output/Node_NegativeScale/Node_NegativeScale_12.bin index f45e02e0..7654e260 100644 Binary files a/Output/Node_NegativeScale/Node_NegativeScale_12.bin and b/Output/Node_NegativeScale/Node_NegativeScale_12.bin differ diff --git a/Output/Node_NegativeScale/Node_NegativeScale_12.gltf b/Output/Node_NegativeScale/Node_NegativeScale_12.gltf index 1434875d..1ef511ec 100644 --- a/Output/Node_NegativeScale/Node_NegativeScale_12.gltf +++ b/Output/Node_NegativeScale/Node_NegativeScale_12.gltf @@ -21,70 +21,25 @@ "bufferView": 1, "componentType": 5126, "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 2, - "componentType": 5126, - "count": 98, "type": "VEC4", "name": "Tangents Accessor" }, { - "bufferView": 3, + "bufferView": 2, "componentType": 5126, "count": 98, "type": "VEC2", "name": "UV Accessor 0" }, { - "bufferView": 4, + "bufferView": 3, "componentType": 5125, "count": 18, "type": "SCALAR", "name": "Indices Accessor" }, { - "bufferView": 5, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "max": [ - 7.5, - 7.5, - 7.5 - ], - "min": [ - -7.5, - -2.5, - -7.5 - ], - "name": "Positions Accessor" - }, - { - "bufferView": 6, - "componentType": 5126, - "count": 98, - "type": "VEC3", - "name": "Normals Accessor" - }, - { - "bufferView": 7, - "componentType": 5126, - "count": 98, - "type": "VEC4", - "name": "Tangents Accessor" - }, - { - "bufferView": 8, - "componentType": 5126, - "count": 98, - "type": "VEC2", - "name": "UV Accessor 0" - }, - { - "bufferView": 9, + "bufferView": 4, "componentType": 5125, "count": 144, "type": "SCALAR", @@ -98,7 +53,7 @@ "buffers": [ { "uri": "Node_NegativeScale_12.bin", - "byteLength": 10056 + "byteLength": 4176 } ], "bufferViews": [ @@ -110,54 +65,24 @@ { "buffer": 0, "byteOffset": 1176, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 2352, "byteLength": 1568, "name": "Tangents" }, { "buffer": 0, - "byteOffset": 3920, + "byteOffset": 2744, "byteLength": 784, "name": "Texture Coords 0" }, { "buffer": 0, - "byteOffset": 4704, + "byteOffset": 3528, "byteLength": 72, "name": "Indices" }, { "buffer": 0, - "byteOffset": 4776, - "byteLength": 1176, - "name": "Positions" - }, - { - "buffer": 0, - "byteOffset": 5952, - "byteLength": 1176, - "name": "Normals" - }, - { - "buffer": 0, - "byteOffset": 7128, - "byteLength": 1568, - "name": "Tangents" - }, - { - "buffer": 0, - "byteOffset": 8696, - "byteLength": 784, - "name": "Texture Coords 0" - }, - { - "buffer": 0, - "byteOffset": 9480, + "byteOffset": 3600, "byteLength": 576, "name": "Indices" } @@ -174,19 +99,6 @@ } ], "materials": [ - { - "pbrMetallicRoughness": { - "baseColorTexture": { - "index": 0 - }, - "metallicRoughnessTexture": { - "index": 1 - } - }, - "normalTexture": { - "index": 2 - } - }, { "pbrMetallicRoughness": { "baseColorTexture": { @@ -207,11 +119,11 @@ { "attributes": { "POSITION": 0, - "NORMAL": 1, - "TANGENT": 2, - "TEXCOORD_0": 3 + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 4, + "indices": 3, "material": 0 } ] @@ -220,13 +132,13 @@ "primitives": [ { "attributes": { - "POSITION": 5, - "NORMAL": 6, - "TANGENT": 7, - "TEXCOORD_0": 8 + "POSITION": 0, + "NORMAL": 0, + "TANGENT": 1, + "TEXCOORD_0": 2 }, - "indices": 9, - "material": 1 + "indices": 4, + "material": 0 } ] } diff --git a/Output/Node_NegativeScale/README.md b/Output/Node_NegativeScale/README.md index a902a291..bd930a10 100644 --- a/Output/Node_NegativeScale/README.md +++ b/Output/Node_NegativeScale/README.md @@ -18,17 +18,17 @@ The following table shows the properties that are set for a given model. | | Sample Image | Vertex Normal | Vertex Tangent | Matrix | Scale | | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Node_NegativeScale_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=0) | [](Figures/SampleImages/Node_NegativeScale_00.png) | | | | | -| [01](Node_NegativeScale_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=1) | [](Figures/SampleImages/Node_NegativeScale_01.png) | | | [-1.0, 0.0, 0.0, 0.0]
[0.0, 1.0, 0.0, 0.0]
[0.0, 0.0, 1.0, 0.0]
[0.0, 2.0, 0.0, 1.0]
| | -| [02](Node_NegativeScale_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=2) | [](Figures/SampleImages/Node_NegativeScale_02.png) | | | [-1.0, 0.0, 0.0, 0.0]
[0.0, -1.0, 0.0, 0.0]
[0.0, 0.0, 1.0, 0.0]
[0.0, 2.0, 0.0, 1.0]
| | -| [03](Node_NegativeScale_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=3) | [](Figures/SampleImages/Node_NegativeScale_03.png) | | | [-1.0, 0.0, 0.0, 0.0]
[0.0, -1.0, 0.0, 0.0]
[0.0, 0.0, -1.0, 0.0]
[0.0, 2.0, 0.0, 1.0]
| | -| [04](Node_NegativeScale_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=4) | [](Figures/SampleImages/Node_NegativeScale_04.png) | | | | [-1.0, 1.0, 1.0] | -| [05](Node_NegativeScale_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=5) | [](Figures/SampleImages/Node_NegativeScale_05.png) | | | | [-1.0, -1.0, 1.0] | -| [06](Node_NegativeScale_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=6) | [](Figures/SampleImages/Node_NegativeScale_06.png) | | | | [-1.0, -1.0, -1.0] | -| [07](Node_NegativeScale_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=7) | [](Figures/SampleImages/Node_NegativeScale_07.png) | :white_check_mark: | | | [-1.0, 1.0, 1.0] | -| [08](Node_NegativeScale_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=8) | [](Figures/SampleImages/Node_NegativeScale_08.png) | :white_check_mark: | | | [-1.0, -1.0, 1.0] | -| [09](Node_NegativeScale_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=9) | [](Figures/SampleImages/Node_NegativeScale_09.png) | :white_check_mark: | | | [-1.0, -1.0, -1.0] | -| [10](Node_NegativeScale_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=10) | [](Figures/SampleImages/Node_NegativeScale_10.png) | :white_check_mark: | :white_check_mark: | | [-1.0, 1.0, 1.0] | -| [11](Node_NegativeScale_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=11) | [](Figures/SampleImages/Node_NegativeScale_11.png) | :white_check_mark: | :white_check_mark: | | [-1.0, -1.0, 1.0] | -| [12](Node_NegativeScale_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=15&model=12) | [](Figures/SampleImages/Node_NegativeScale_12.png) | :white_check_mark: | :white_check_mark: | | [-1.0, -1.0, -1.0] | +| [00](Node_NegativeScale_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=0) | [](Figures/SampleImages/Node_NegativeScale_00.png) | | | | | +| [01](Node_NegativeScale_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=1) | [](Figures/SampleImages/Node_NegativeScale_01.png) | | | [-1.0, 0.0, 0.0, 0.0]
[0.0, 1.0, 0.0, 0.0]
[0.0, 0.0, 1.0, 0.0]
[0.0, 2.0, 0.0, 1.0]
| | +| [02](Node_NegativeScale_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=2) | [](Figures/SampleImages/Node_NegativeScale_02.png) | | | [-1.0, 0.0, 0.0, 0.0]
[0.0, -1.0, 0.0, 0.0]
[0.0, 0.0, 1.0, 0.0]
[0.0, 2.0, 0.0, 1.0]
| | +| [03](Node_NegativeScale_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=3) | [](Figures/SampleImages/Node_NegativeScale_03.png) | | | [-1.0, 0.0, 0.0, 0.0]
[0.0, -1.0, 0.0, 0.0]
[0.0, 0.0, -1.0, 0.0]
[0.0, 2.0, 0.0, 1.0]
| | +| [04](Node_NegativeScale_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=4) | [](Figures/SampleImages/Node_NegativeScale_04.png) | | | | [-1.0, 1.0, 1.0] | +| [05](Node_NegativeScale_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=5) | [](Figures/SampleImages/Node_NegativeScale_05.png) | | | | [-1.0, -1.0, 1.0] | +| [06](Node_NegativeScale_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=6) | [](Figures/SampleImages/Node_NegativeScale_06.png) | | | | [-1.0, -1.0, -1.0] | +| [07](Node_NegativeScale_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=7) | [](Figures/SampleImages/Node_NegativeScale_07.png) | :white_check_mark: | | | [-1.0, 1.0, 1.0] | +| [08](Node_NegativeScale_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=8) | [](Figures/SampleImages/Node_NegativeScale_08.png) | :white_check_mark: | | | [-1.0, -1.0, 1.0] | +| [09](Node_NegativeScale_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=9) | [](Figures/SampleImages/Node_NegativeScale_09.png) | :white_check_mark: | | | [-1.0, -1.0, -1.0] | +| [10](Node_NegativeScale_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=10) | [](Figures/SampleImages/Node_NegativeScale_10.png) | :white_check_mark: | :white_check_mark: | | [-1.0, 1.0, 1.0] | +| [11](Node_NegativeScale_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=11) | [](Figures/SampleImages/Node_NegativeScale_11.png) | :white_check_mark: | :white_check_mark: | | [-1.0, -1.0, 1.0] | +| [12](Node_NegativeScale_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=12) | [](Figures/SampleImages/Node_NegativeScale_12.png) | :white_check_mark: | :white_check_mark: | | [-1.0, -1.0, -1.0] | diff --git a/Output/Texture_Sampler/README.md b/Output/Texture_Sampler/README.md index 832409b1..6fb0e745 100644 --- a/Output/Texture_Sampler/README.md +++ b/Output/Texture_Sampler/README.md @@ -11,18 +11,18 @@ The following table shows the properties that are set for a given model. | | Sample Image | Wrap T | Wrap S | Mag Filter | Min Filter | | :---: | :---: | :---: | :---: | :---: | :---: | -| [00](Texture_Sampler_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=0) | [](Figures/SampleImages/Texture_Sampler_00.png) | | | | | -| [01](Texture_Sampler_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=1) | [](Figures/SampleImages/Texture_Sampler_01.png) | Clamp To Edge | | | | -| [02](Texture_Sampler_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=2) | [](Figures/SampleImages/Texture_Sampler_02.png) | Mirrored Repeat | | | | -| [03](Texture_Sampler_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=3) | [](Figures/SampleImages/Texture_Sampler_03.png) | | Clamp To Edge | | | -| [04](Texture_Sampler_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=4) | [](Figures/SampleImages/Texture_Sampler_04.png) | | Mirrored Repeat | | | -| [05](Texture_Sampler_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=5) | [](Figures/SampleImages/Texture_Sampler_05.png) | | | Nearest | | -| [06](Texture_Sampler_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=6) | [](Figures/SampleImages/Texture_Sampler_06.png) | | | Linear | | -| [07](Texture_Sampler_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=7) | [](Figures/SampleImages/Texture_Sampler_07.png) | | | | Nearest | -| [08](Texture_Sampler_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=8) | [](Figures/SampleImages/Texture_Sampler_08.png) | | | | Linear | -| [09](Texture_Sampler_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=9) | [](Figures/SampleImages/Texture_Sampler_09.png) | | | | Nearest Mipmap Nearest | -| [10](Texture_Sampler_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=10) | [](Figures/SampleImages/Texture_Sampler_10.png) | | | | Linear Mipmap Nearest | -| [11](Texture_Sampler_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=11) | [](Figures/SampleImages/Texture_Sampler_11.png) | | | | Nearest Mipmap Linear | -| [12](Texture_Sampler_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=12) | [](Figures/SampleImages/Texture_Sampler_12.png) | | | | Linear Mipmap Linear | -| [13](Texture_Sampler_13.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=16&model=13) | [](Figures/SampleImages/Texture_Sampler_13.png) | Clamp To Edge | Clamp To Edge | Nearest | Nearest | +| [00](Texture_Sampler_00.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=0) | [](Figures/SampleImages/Texture_Sampler_00.png) | | | | | +| [01](Texture_Sampler_01.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=1) | [](Figures/SampleImages/Texture_Sampler_01.png) | Clamp To Edge | | | | +| [02](Texture_Sampler_02.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=2) | [](Figures/SampleImages/Texture_Sampler_02.png) | Mirrored Repeat | | | | +| [03](Texture_Sampler_03.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=3) | [](Figures/SampleImages/Texture_Sampler_03.png) | | Clamp To Edge | | | +| [04](Texture_Sampler_04.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=4) | [](Figures/SampleImages/Texture_Sampler_04.png) | | Mirrored Repeat | | | +| [05](Texture_Sampler_05.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=5) | [](Figures/SampleImages/Texture_Sampler_05.png) | | | Nearest | | +| [06](Texture_Sampler_06.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=6) | [](Figures/SampleImages/Texture_Sampler_06.png) | | | Linear | | +| [07](Texture_Sampler_07.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=7) | [](Figures/SampleImages/Texture_Sampler_07.png) | | | | Nearest | +| [08](Texture_Sampler_08.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=8) | [](Figures/SampleImages/Texture_Sampler_08.png) | | | | Linear | +| [09](Texture_Sampler_09.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=9) | [](Figures/SampleImages/Texture_Sampler_09.png) | | | | Nearest Mipmap Nearest | +| [10](Texture_Sampler_10.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=10) | [](Figures/SampleImages/Texture_Sampler_10.png) | | | | Linear Mipmap Nearest | +| [11](Texture_Sampler_11.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=11) | [](Figures/SampleImages/Texture_Sampler_11.png) | | | | Nearest Mipmap Linear | +| [12](Texture_Sampler_12.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=12) | [](Figures/SampleImages/Texture_Sampler_12.png) | | | | Linear Mipmap Linear | +| [13](Texture_Sampler_13.gltf)
[View](https://bghgary.github.io/glTF-Assets-Viewer/?folder=17&model=13) | [](Figures/SampleImages/Texture_Sampler_13.png) | Clamp To Edge | Clamp To Edge | Nearest | Nearest | diff --git a/README.md b/README.md index 600e8bcb..c023eda8 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ In order to help ensure that glTF 2.0 importers meet the [glTF 2.0 Specification So far, this project covers these requirements, with more to come: - [Buffer Interleaved](Output/Buffer_Interleaved/README.md) - [Compatibility](Output/Compatibility/README.md) +- [Instancing](Output/Instancing/README.md) - [Material](Output/Material/README.md) - [Material Alpha Blend](Output/Material_AlphaBlend/README.md) - [Material Alpha Mask](Output/Material_AlphaMask/README.md) diff --git a/Source/AssetGenerator.csproj b/Source/AssetGenerator.csproj index 3cea12fb..aaee2bdf 100644 --- a/Source/AssetGenerator.csproj +++ b/Source/AssetGenerator.csproj @@ -21,6 +21,7 @@ + @@ -42,6 +43,7 @@ + diff --git a/Source/ModelGroup.cs b/Source/ModelGroup.cs index 493137a2..1ff438b1 100644 --- a/Source/ModelGroup.cs +++ b/Source/ModelGroup.cs @@ -122,57 +122,91 @@ public static List GetSinglePlaneIndices() }; } + /// + /// Creates two mesh primitives that, when taken together, are intended to look like a square plane. + /// public static List CreateMultiPrimitivePlane(bool includeTextureCoords = true) { return new List { - new Runtime.MeshPrimitive + CreateLeftPrimitiveTriangle(includeTextureCoords), + CreateRightPrimitiveTriangle(includeTextureCoords), + }; + } + + /// + /// Triangle making up the top right corner of the multi primitive plane. + /// + public static Runtime.MeshPrimitive CreateLeftPrimitiveTriangle(bool includeTextureCoords = true) + { + return new Runtime.MeshPrimitive + { + Positions = new List() + { + new Vector3(-0.5f,-0.5f, 0.0f), + new Vector3( 0.5f, 0.5f, 0.0f), + new Vector3(-0.5f, 0.5f, 0.0f) + }, + TextureCoordSets = includeTextureCoords ? new List> + { + GetLeftPrimitiveTriangleTextureCoordSets(), + } : null, + Indices = new List { - Positions = new List() - { - new Vector3(-0.5f,-0.5f, 0.0f), - new Vector3( 0.5f, 0.5f, 0.0f), - new Vector3(-0.5f, 0.5f, 0.0f) - }, - TextureCoordSets = includeTextureCoords ? new List> - { - new List - { - new Vector2( 0.0f, 1.0f), - new Vector2( 1.0f, 0.0f), - new Vector2( 0.0f, 0.0f) - }, - } : null, - Indices = new List - { - 0, 1, 2, - }, + 0, 1, 2, }, + }; + } + + /// + /// Texture coordinates for the left triangle in the multi primitive plane + /// + public static List GetLeftPrimitiveTriangleTextureCoordSets() + { + return new List + { + new Vector2( 0.0f, 1.0f), + new Vector2( 1.0f, 0.0f), + new Vector2( 0.0f, 0.0f) + }; + } - new Runtime.MeshPrimitive + /// + /// Triangle making up the bottom left corner of the multi primitive plane. + /// + public static Runtime.MeshPrimitive CreateRightPrimitiveTriangle(bool includeTextureCoords = true) + { + return new Runtime.MeshPrimitive + { + Positions = new List() + { + new Vector3(-0.5f,-0.5f, 0.0f), + new Vector3( 0.5f,-0.5f, 0.0f), + new Vector3( 0.5f, 0.5f, 0.0f) + }, + TextureCoordSets = includeTextureCoords ? new List> { - Positions = new List() - { - new Vector3(-0.5f,-0.5f, 0.0f), - new Vector3( 0.5f,-0.5f, 0.0f), - new Vector3( 0.5f, 0.5f, 0.0f) - }, - TextureCoordSets = includeTextureCoords ? new List> - { - new List - { - new Vector2( 0.0f, 1.0f), - new Vector2( 1.0f, 1.0f), - new Vector2( 1.0f, 0.0f) - }, - } : null, - Indices = new List - { - 0, 1, 2, - }, - } + GetRightPrimitiveTriangleTextureCoordSets(), + } : null, + Indices = new List + { + 0, 1, 2, + }, }; } + + /// + /// Texture coordinates for the right triangle in the multi primitive plane + /// + public static List GetRightPrimitiveTriangleTextureCoordSets() + { + return new List + { + new Vector2( 0.0f, 1.0f), + new Vector2( 1.0f, 1.0f), + new Vector2( 1.0f, 0.0f) + }; + } } protected void GenerateUsedPropertiesList() @@ -210,6 +244,7 @@ internal enum ModelGroupId { Buffer_Interleaved, Compatibility, + Instancing, Material, Material_AlphaBlend, Material_AlphaMask, diff --git a/Source/ModelGroups/Instancing.cs b/Source/ModelGroups/Instancing.cs new file mode 100644 index 00000000..4bfab554 --- /dev/null +++ b/Source/ModelGroups/Instancing.cs @@ -0,0 +1,205 @@ +using System; +using System.Collections.Generic; +using System.Numerics; + +namespace AssetGenerator +{ + internal class Instancing : ModelGroup + { + public override ModelGroupId Id => ModelGroupId.Instancing; + + public Instancing(List imageList) + { + var baseColorTextureImage = UseTexture(imageList, "BaseColor_Plane"); + var normalImage = UseTexture(imageList, "Normal_Plane"); + + // There are no common properties in this model group that are reported in the readme. + + Model CreateModel(Action, Runtime.GLTF, Runtime.Node, Runtime.Node, Runtime.MeshPrimitive, Runtime.MeshPrimitive, Runtime.Material, Runtime.Material, Runtime.PbrMetallicRoughness> setProperties) + { + var properties = new List(); + var gltf = CreateGLTF(() => new Runtime.Scene()); + var nodeZero = new Runtime.Node() + { + Mesh = new Runtime.Mesh() + }; + var nodeOne = new Runtime.Node() + { + Mesh = new Runtime.Mesh() + }; + var meshPrimitiveZero = MeshPrimitive.CreateLeftPrimitiveTriangle(includeTextureCoords: false); + var meshPrimitiveOne = MeshPrimitive.CreateRightPrimitiveTriangle(includeTextureCoords: false); + var materialZero = new Runtime.Material(); + var materialOne = new Runtime.Material(); + var metallicRoughness = new Runtime.PbrMetallicRoughness() + { + BaseColorTexture = new Runtime.Texture { Source = baseColorTextureImage } + }; + + // There are no common properties in this model group. + + // Apply the properties that are specific to this gltf. + setProperties(properties, gltf, nodeZero, nodeOne, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness); + + // Create the gltf object + return new Model + { + Properties = properties, + GLTF = gltf, + }; + } + + void SetInstancedMesh(List properties, Runtime.GLTF gltf, Runtime.Node nodeZero, Runtime.Node nodeOne, Runtime.MeshPrimitive meshPrimitiveZero) + { + // Offset the nodes so the primitives are visible + nodeZero.Translation = new Vector3(-0.5f, 0.0f, 0.0f); + nodeOne.Translation = new Vector3(0.5f, 0.0f, 0.0f); + + nodeZero.Mesh.MeshPrimitives = new List + { + meshPrimitiveZero + }; + nodeOne.Mesh.MeshPrimitives = new List + { + meshPrimitiveZero + }; + + gltf.Scenes[0].Nodes = new List + { + nodeZero, + nodeOne, + }; + + properties.Add(new Property(PropertyName.InstancedMesh, ":white_check_mark:")); + } + + void SetInstancedMaterial(List properties, Runtime.GLTF gltf, Runtime.Node nodeZero, Runtime.MeshPrimitive meshPrimitiveZero, Runtime.MeshPrimitive meshPrimitiveOne, Runtime.Material materialZero) + { + // Normals are set so that the material isn't empty. + materialZero.NormalTexture = new Runtime.Texture { Source = normalImage }; + meshPrimitiveZero.TextureCoordSets = new List> { MeshPrimitive.GetLeftPrimitiveTriangleTextureCoordSets() }; + meshPrimitiveOne.TextureCoordSets = new List> { MeshPrimitive.GetRightPrimitiveTriangleTextureCoordSets() }; + + meshPrimitiveZero.Material = materialZero; + meshPrimitiveOne.Material = materialZero; + + nodeZero.Mesh.MeshPrimitives = new List + { + meshPrimitiveZero, + meshPrimitiveOne, + }; + + gltf.Scenes[0].Nodes = new List + { + nodeZero, + }; + + properties.Add(new Property(PropertyName.InstancedMaterial, ":white_check_mark:")); + } + + void SetInstancedTexture(List properties, Runtime.GLTF gltf, Runtime.Node nodeZero, Runtime.MeshPrimitive meshPrimitiveZero, Runtime.MeshPrimitive meshPrimitiveOne, Runtime.Material materialZero, Runtime.Material materialOne, Runtime.PbrMetallicRoughness metallicRoughness) + { + // Normal texture is set on one material to make it unique + materialZero.NormalTexture = new Runtime.Texture { Source = normalImage }; + meshPrimitiveZero.TextureCoordSets = new List> { MeshPrimitive.GetLeftPrimitiveTriangleTextureCoordSets() }; + + materialZero.MetallicRoughnessMaterial = metallicRoughness; + materialOne.MetallicRoughnessMaterial = metallicRoughness; + + meshPrimitiveZero.Material = materialZero; + meshPrimitiveOne.Material = materialOne; + meshPrimitiveZero.TextureCoordSets = new List> { MeshPrimitive.GetLeftPrimitiveTriangleTextureCoordSets() }; + meshPrimitiveOne.TextureCoordSets = new List> { MeshPrimitive.GetRightPrimitiveTriangleTextureCoordSets() }; + + nodeZero.Mesh.MeshPrimitives = new List + { + meshPrimitiveZero, + meshPrimitiveOne, + }; + + gltf.Scenes[0].Nodes = new List + { + nodeZero, + }; + + properties.Add(new Property(PropertyName.InstancedTexture, ":white_check_mark:")); + } + + void SetInstancedImage(List properties, Runtime.GLTF gltf, Runtime.Node nodeZero, Runtime.MeshPrimitive meshPrimitiveZero, Runtime.MeshPrimitive meshPrimitiveOne, Runtime.Material materialZero, Runtime.Material materialOne, Runtime.PbrMetallicRoughness metallicRoughness) + { + // A new MetallicRoughness is created to make this material and the metallicRoughness unique + materialZero.MetallicRoughnessMaterial = new Runtime.PbrMetallicRoughness() + { + BaseColorTexture = new Runtime.Texture { Source = baseColorTextureImage }, + BaseColorFactor = new Vector4(0.2f, 0.2f, 0.2f, 0.8f), + }; + materialZero.MetallicRoughnessMaterial.BaseColorTexture.Name = "UniqueMetallicRoughness"; + materialOne.MetallicRoughnessMaterial = metallicRoughness; + + meshPrimitiveZero.Material = materialZero; + meshPrimitiveOne.Material = materialOne; + meshPrimitiveZero.TextureCoordSets = new List> { MeshPrimitive.GetLeftPrimitiveTriangleTextureCoordSets() }; + meshPrimitiveOne.TextureCoordSets = new List> { MeshPrimitive.GetRightPrimitiveTriangleTextureCoordSets() }; + + nodeZero.Mesh.MeshPrimitives = new List + { + meshPrimitiveZero, + meshPrimitiveOne, + }; + + gltf.Scenes[0].Nodes = new List + { + nodeZero, + }; + + properties.Add(new Property(PropertyName.InstancedImage, ":white_check_mark:")); + } + + // Started creating a model for instancing a primitive attribute, but this involves the buffer and will require more work + //void SetInstancedPrimitiveAttribute(List properties, Runtime.GLTF gltf, Runtime.Node nodeZero, Runtime.Node nodeOne, Runtime.MeshPrimitive meshPrimitiveZero, Runtime.MeshPrimitive meshPrimitiveOne) + //{ + // // Offset the nodes so the primitives are visible + // nodeZero.Translation = new Vector3(-0.5f, 0.0f, 0.0f); + // nodeOne.Translation = new Vector3(0.5f, 0.0f, 0.0f); + + // nodeZero.Mesh.MeshPrimitives = new List + // { + // meshPrimitiveZero + // }; + // nodeOne.Mesh.MeshPrimitives = new List + // { + // meshPrimitiveOne + // }; + + // gltf.Scenes[0].Nodes = new List + // { + // nodeZero, + // nodeOne, + // }; + + // properties.Add(new Property(PropertyName.InstancedImage, ":white_check_mark:")); + //} + + this.Models = new List + { + CreateModel((properties, gltf, nodeZero, nodeOne, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness) => { + SetInstancedMesh(properties, gltf, nodeZero, nodeOne, meshPrimitiveZero); + }), + CreateModel((properties, gltf, nodeZero, nodeOne, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness) => { + SetInstancedMaterial(properties, gltf, nodeZero, meshPrimitiveZero, meshPrimitiveOne, materialZero); + }), + CreateModel((properties, gltf, nodeZero, nodeOne, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness) => { + SetInstancedTexture(properties, gltf, nodeZero, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness); + }), + CreateModel((properties, gltf, nodeZero, nodeOne, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness) => { + SetInstancedImage(properties, gltf, nodeZero, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness); + }), + //CreateModel((properties, gltf, nodeZero, nodeOne, meshPrimitiveZero, meshPrimitiveOne, materialZero, materialOne, metallicRoughness) => { + // SetInstancedPrimitive(properties, gltf, nodeZero, nodeOne, meshPrimitiveZero); + //}), + }; + + GenerateUsedPropertiesList(); + } + } +} diff --git a/Source/Program.cs b/Source/Program.cs index 982d3b65..fcb7d72b 100644 --- a/Source/Program.cs +++ b/Source/Program.cs @@ -31,6 +31,7 @@ private static void Main(string[] args) { new Buffer_Interleaved(imageList), new Compatibility(imageList), + new Instancing(imageList), new Material(imageList), new Material_AlphaBlend(imageList), new Material_AlphaMask(imageList), diff --git a/Source/Property.cs b/Source/Property.cs index fcfc8609..5504bdbc 100644 --- a/Source/Property.cs +++ b/Source/Property.cs @@ -103,6 +103,11 @@ internal enum PropertyName Mode, IndicesValues, IndicesComponentType, + InstancedMesh, + InstancedMaterial, + InstancedTexture, + InstancedImage, + InstancedPrimitive, AlphaMode, AlphaCutoff, DoubleSided, diff --git a/Source/ReadmeTemplates/Instancing.md b/Source/ReadmeTemplates/Instancing.md new file mode 100644 index 00000000..5099d4d5 --- /dev/null +++ b/Source/ReadmeTemplates/Instancing.md @@ -0,0 +1,5 @@ +These models are intended to test using multiple instances of a single property. + +The following table shows the properties that are set for a given model. + +~~Table~~ diff --git a/Source/Runtime/ExtensionMethods/GenericExtensionMethods.cs b/Source/Runtime/ExtensionMethods/GenericExtensionMethods.cs new file mode 100644 index 00000000..330865cf --- /dev/null +++ b/Source/Runtime/ExtensionMethods/GenericExtensionMethods.cs @@ -0,0 +1,115 @@ +using System; +using System.Linq; +using System.Collections; +using System.Collections.Generic; + +namespace AssetGenerator.Runtime.ExtensionMethods +{ + internal static class GenericExtensionMethods + { + /// + /// Function which determines if two objects equivalent + /// + public static bool ObjectsEqual(this object object1, object object2) + { + // Checks if the objects are the same instance. + if (ReferenceEquals(object1, object2)) return true; + + // Checks both objects in regards to being null. They're equal if both null, and not if only one of them is. + if ((object1 == null) || (object2 == null)) + { + return CheckForNullEquivalence(object1, object2); + } + + // Compare two object's class, return false if they are different. + if (object1.GetType() != object2.GetType()) return false; + + // Get all the properties of obj1 and compare the two objects. + foreach (var property in object1.GetType().GetProperties().Where(p => p.GetIndexParameters().Length == 0)) + { + var valueObject1 = property.GetValue(object1); + var valueObject2 = property.GetValue(object2); + + // Checks each property in regards to being null. They're equal if both null, and not if only one of them is. + if ((valueObject1 == null) || (valueObject2 == null)) + { + if (!CheckForNullEquivalence(valueObject1, valueObject2)) return false; + } + else + { + Type type = valueObject1.GetType(); + if (type.IsValueType || type == typeof(string)) + { + // Compares the value between the two objects. + if (!valueObject1.Equals(valueObject2)) return false; + } + else if(type.IsArray) + { + IEnumerable array1 = ((IEnumerable)valueObject1).Cast(); + IEnumerable array2 = ((IEnumerable)valueObject2).Cast(); + + // Checks both arrays in regards to being null. They're equal if both null, and not if only one of them is. + if (array1 == null || array2 == null) + { + if (!CheckForNullEquivalence(array1, array2)) return false; + } + else + { + // Compares both arrays one value at a time. + Type arrayType = array1.ElementAt(0).GetType(); + int count = array1.Count(); + for (int x = 0; x < count; x++) + { + if (arrayType.IsValueType || type == typeof(string)) + { + if (!array1.ElementAt(x).Equals(array2.ElementAt(x))) return false; + } + else + { + //bool temp1; + //if (!array1.ElementAt(x).ObjectsEqual(array2.ElementAt(x))) + //{ + // var tempA = array1.ElementAt(x); + // var tempB = array2.ElementAt(x); + // temp1 = false; + // array1.ElementAt(x).ObjectsEqual(array2.ElementAt(x)); + // return false; + //} + //else + //{ + // temp1 = true; + //} + if (!array1.ElementAt(x).ObjectsEqual(array2.ElementAt(x))) return false; + } + } + } + } + else if (type.IsClass) + { + // The property is a class, so this function is called recursively against it. + if (!valueObject1.ObjectsEqual(valueObject2)) return false; + } + } + } + + return true; + } + + /// + /// Checks two objects, at least one of which is null. If both are null then they are equivalent. Otherwise they are not. + /// + private static bool CheckForNullEquivalence(T object1, T object2) + { + if ((object1 == null) && (object2 == null)) + { + // They are equal. + return true; + } + else + { + // They are not equal. + return false; + } + } + } +} diff --git a/Source/Runtime/ExtensionMethods/TextureExtensionMethods.cs b/Source/Runtime/ExtensionMethods/TextureExtensionMethods.cs index 3f3a5d8e..b6cde725 100644 --- a/Source/Runtime/ExtensionMethods/TextureExtensionMethods.cs +++ b/Source/Runtime/ExtensionMethods/TextureExtensionMethods.cs @@ -11,9 +11,6 @@ internal static class TextureExtensionMethods /// /// Function which determines if two Textures objects have equal values /// - /// - /// - /// public static bool TexturesEqual(this glTFLoader.Schema.Texture t1, glTFLoader.Schema.Texture t2) { return ((t1.Name == t2.Name) && (t1.Source == t2.Source) && (t1.Sampler == t2.Sampler)); diff --git a/Source/Runtime/GLTFConverter.cs b/Source/Runtime/GLTFConverter.cs index 8cf33908..38d0dcca 100644 --- a/Source/Runtime/GLTFConverter.cs +++ b/Source/Runtime/GLTFConverter.cs @@ -12,7 +12,7 @@ namespace AssetGenerator.Runtime /// internal class GLTFConverter { - private List buffers = new List(); + private List buffers = new List(); // No references? private List bufferViews = new List(); private List accessors = new List(); private List materials = new List(); @@ -23,6 +23,9 @@ internal class GLTFConverter private List textures = new List(); private List meshes = new List(); + // Tracks what properties are added to the buffer, so duplicate properties can be discovered + private List gltfBufferContents = new List(); + /// /// Set this property to allow creating custom types. /// @@ -442,8 +445,8 @@ private int ConvertNodeToSchema(Node runtimeNode, GLTF gltf, glTFLoader.Schema.B if (runtimeNode.Mesh != null) { var schemaMesh = ConvertMeshToSchema(runtimeNode.Mesh, gltf, buffer, geometryData, bufferIndex); - meshes.Add(schemaMesh); - node.Mesh = meshes.Count() - 1; + // If an equivalent mesh has already been created, re-use that mesh's index instead of creating a new material + node.Mesh = AddInstanceOfObject(meshes, schemaMesh); } if (runtimeNode.Rotation.HasValue) { @@ -1119,223 +1122,313 @@ private glTFLoader.Schema.MeshPrimitive ConvertMeshPrimitiveToSchema(MeshPrimiti { if (runtimeMeshPrimitive.Positions != null) { - //Create BufferView for the position - int byteLength = sizeof(float) * 3 * runtimeMeshPrimitive.Positions.Count(); - float[] min = new float[] { }; - float[] max = new float[] { }; - - //get the max and min values - Vector3[] minMaxPositions = GetMinMaxPositions(runtimeMeshPrimitive); - min = new[] { minMaxPositions[0].X, minMaxPositions[0].Y, minMaxPositions[0].Z }; - max = new[] { minMaxPositions[1].X, minMaxPositions[1].Y, minMaxPositions[1].Z }; - int byteOffset = (int)geometryData.Writer.BaseStream.Position; + int accessorIndex = -1; + foreach (object propertyInBuffer in gltfBufferContents) + { + if (propertyInBuffer.ObjectsEqual(runtimeMeshPrimitive.Positions)) + { + accessorIndex = gltfBufferContents.IndexOf(propertyInBuffer); + break; + } + } - var bufferView = CreateBufferView(bufferIndex, "Positions", byteLength, byteOffset, null); - bufferViews.Add(bufferView); - int bufferviewIndex = bufferViews.Count() - 1; + if (accessorIndex == -1) + { + //Create BufferView for the position + int byteLength = sizeof(float) * 3 * runtimeMeshPrimitive.Positions.Count(); + float[] min = new float[] { }; + float[] max = new float[] { }; + + //get the max and min values + Vector3[] minMaxPositions = GetMinMaxPositions(runtimeMeshPrimitive); + min = new[] { minMaxPositions[0].X, minMaxPositions[0].Y, minMaxPositions[0].Z }; + max = new[] { minMaxPositions[1].X, minMaxPositions[1].Y, minMaxPositions[1].Z }; + int byteOffset = (int)geometryData.Writer.BaseStream.Position; - // Create an accessor for the bufferView - var accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT, runtimeMeshPrimitive.Positions.Count(), "Positions Accessor", max, min, glTFLoader.Schema.Accessor.TypeEnum.VEC3, null); + var bufferView = CreateBufferView(bufferIndex, "Positions", byteLength, byteOffset, null); + bufferViews.Add(bufferView); + int bufferviewIndex = bufferViews.Count() - 1; - accessors.Add(accessor); - geometryData.Writer.Write(runtimeMeshPrimitive.Positions.ToArray()); - attributes.Add("POSITION", accessors.Count() - 1); + // Create an accessor for the bufferView + var accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT, runtimeMeshPrimitive.Positions.Count(), "Positions Accessor", max, min, glTFLoader.Schema.Accessor.TypeEnum.VEC3, null); + + accessors.Add(accessor); + geometryData.Writer.Write(runtimeMeshPrimitive.Positions.ToArray()); + gltfBufferContents.Add(runtimeMeshPrimitive.Positions); + accessorIndex = accessors.Count() - 1; + } + attributes.Add("POSITION", accessorIndex); } if (runtimeMeshPrimitive.Normals != null) { - // Create BufferView - int byteLength = sizeof(float) * 3 * runtimeMeshPrimitive.Normals.Count(); - // Create a bufferView - int byteOffset = (int)geometryData.Writer.BaseStream.Position; - var bufferView = CreateBufferView(bufferIndex, "Normals", byteLength, byteOffset, null); + int accessorIndex = -1; + foreach (object propertyInBuffer in gltfBufferContents) + { + if (propertyInBuffer.ObjectsEqual(runtimeMeshPrimitive.Normals)) + { + accessorIndex = gltfBufferContents.IndexOf(propertyInBuffer); + break; + } + } - bufferViews.Add(bufferView); - int bufferviewIndex = bufferViews.Count() - 1; + if (accessorIndex == -1) + { + // Create BufferView + int byteLength = sizeof(float) * 3 * runtimeMeshPrimitive.Normals.Count(); + // Create a bufferView + int byteOffset = (int)geometryData.Writer.BaseStream.Position; + var bufferView = CreateBufferView(bufferIndex, "Normals", byteLength, byteOffset, null); + + bufferViews.Add(bufferView); + int bufferviewIndex = bufferViews.Count() - 1; - // Create an accessor for the bufferView - var accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT, runtimeMeshPrimitive.Normals.Count(), "Normals Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.VEC3, null); + // Create an accessor for the bufferView + var accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT, runtimeMeshPrimitive.Normals.Count(), "Normals Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.VEC3, null); - accessors.Add(accessor); - geometryData.Writer.Write(runtimeMeshPrimitive.Normals.ToArray()); - attributes.Add("NORMAL", accessors.Count() - 1); + accessors.Add(accessor); + geometryData.Writer.Write(runtimeMeshPrimitive.Normals.ToArray()); + gltfBufferContents.Add(runtimeMeshPrimitive.Normals); + accessorIndex = accessors.Count() - 1; + } + attributes.Add("NORMAL", accessorIndex); } if (runtimeMeshPrimitive.Tangents != null && runtimeMeshPrimitive.Tangents.Count > 0) { - // Create BufferView - int byteLength = sizeof(float) * 4 * runtimeMeshPrimitive.Tangents.Count(); - // Create a bufferView - int byteOffset = (int)geometryData.Writer.BaseStream.Position; - var bufferView = CreateBufferView(bufferIndex, "Tangents", byteLength, byteOffset, null); + int accessorIndex = -1; + foreach (object propertyInBuffer in gltfBufferContents) + { + if (propertyInBuffer.ObjectsEqual(runtimeMeshPrimitive.Tangents)) + { + accessorIndex = gltfBufferContents.IndexOf(propertyInBuffer); + break; + } + } + if (accessorIndex == -1) + { + // Create BufferView + int byteLength = sizeof(float) * 4 * runtimeMeshPrimitive.Tangents.Count(); + // Create a bufferView + int byteOffset = (int)geometryData.Writer.BaseStream.Position; + var bufferView = CreateBufferView(bufferIndex, "Tangents", byteLength, byteOffset, null); - bufferViews.Add(bufferView); - int bufferviewIndex = bufferViews.Count() - 1; - // Create an accessor for the bufferView - var accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT, runtimeMeshPrimitive.Tangents.Count(), "Tangents Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.VEC4, null); - accessors.Add(accessor); - geometryData.Writer.Write(runtimeMeshPrimitive.Tangents.ToArray()); - attributes.Add("TANGENT", accessors.Count() - 1); + bufferViews.Add(bufferView); + int bufferviewIndex = bufferViews.Count() - 1; + + // Create an accessor for the bufferView + var accessor = CreateAccessor(bufferviewIndex, 0, glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT, runtimeMeshPrimitive.Tangents.Count(), "Tangents Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.VEC4, null); + accessors.Add(accessor); + geometryData.Writer.Write(runtimeMeshPrimitive.Tangents.ToArray()); + gltfBufferContents.Add(runtimeMeshPrimitive.Tangents); + accessorIndex = accessors.Count() - 1; + } + attributes.Add("TANGENT", accessorIndex); } if (runtimeMeshPrimitive.Colors != null) { - var colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; - var colorAccessorType = runtimeMeshPrimitive.ColorType == MeshPrimitive.ColorTypeEnum.VEC3 ? glTFLoader.Schema.Accessor.TypeEnum.VEC3 : glTFLoader.Schema.Accessor.TypeEnum.VEC4; - int vectorSize = runtimeMeshPrimitive.ColorType == MeshPrimitive.ColorTypeEnum.VEC3 ? 3 : 4; - - // Create BufferView - int byteOffset = (int)geometryData.Writer.BaseStream.Position; - - int byteLength = WriteColors(runtimeMeshPrimitive, 0, runtimeMeshPrimitive.Colors.Count() - 1, geometryData); - int? byteStride = null; - switch (runtimeMeshPrimitive.ColorComponentType) + int accessorIndex = -1; + foreach (object propertyInBuffer in gltfBufferContents) { - case MeshPrimitive.ColorComponentTypeEnum.NORMALIZED_UBYTE: - colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE; - if (vectorSize == 3) - { - byteStride = 4; - } - break; - case MeshPrimitive.ColorComponentTypeEnum.NORMALIZED_USHORT: - colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT; - if (vectorSize == 3) - { - byteStride = 8; - } - break; - default: //Default to ColorComponentTypeEnum.FLOAT: - colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; + if (propertyInBuffer.ObjectsEqual(runtimeMeshPrimitive.Colors)) + { + accessorIndex = gltfBufferContents.IndexOf(propertyInBuffer); break; + } } - var bufferView = CreateBufferView(bufferIndex, "Colors", byteLength, byteOffset, byteStride); - bufferViews.Add(bufferView); - int bufferviewIndex = bufferViews.Count() - 1; - - // Create an accessor for the bufferView - // we normalize if the color accessor mode is not set to FLOAT - bool normalized = runtimeMeshPrimitive.ColorComponentType != MeshPrimitive.ColorComponentTypeEnum.FLOAT; - var accessor = CreateAccessor(bufferviewIndex, 0, colorAccessorComponentType, runtimeMeshPrimitive.Colors.Count(), "Colors Accessor", null, null, colorAccessorType, normalized); - accessors.Add(accessor); - attributes.Add("COLOR_0", accessors.Count() - 1); - if (normalized) - { - // Pad any additional bytes if byteLength is not a multiple of 4 - Align(geometryData, byteLength, 4); - } - } - if (runtimeMeshPrimitive.TextureCoordSets != null) - { - for (int i = 0; i < runtimeMeshPrimitive.TextureCoordSets.Count; ++i) + if (accessorIndex == -1) { - List textureCoordSet = runtimeMeshPrimitive.TextureCoordSets[i]; + var colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; + var colorAccessorType = runtimeMeshPrimitive.ColorType == MeshPrimitive.ColorTypeEnum.VEC3 ? glTFLoader.Schema.Accessor.TypeEnum.VEC3 : glTFLoader.Schema.Accessor.TypeEnum.VEC4; + int vectorSize = runtimeMeshPrimitive.ColorType == MeshPrimitive.ColorTypeEnum.VEC3 ? 3 : 4; + + // Create BufferView int byteOffset = (int)geometryData.Writer.BaseStream.Position; - int byteLength = WriteTextureCoords(runtimeMeshPrimitive, textureCoordSet, 0, runtimeMeshPrimitive.TextureCoordSets[i].Count() - 1, geometryData); - glTFLoader.Schema.Accessor accessor; - glTFLoader.Schema.Accessor.ComponentTypeEnum accessorComponentType; - // we normalize only if the texture cood accessor type is not float - bool normalized = runtimeMeshPrimitive.TextureCoordsComponentType != MeshPrimitive.TextureCoordsComponentTypeEnum.FLOAT; + int byteLength = WriteColors(runtimeMeshPrimitive, 0, runtimeMeshPrimitive.Colors.Count() - 1, geometryData); int? byteStride = null; - switch (runtimeMeshPrimitive.TextureCoordsComponentType) + switch (runtimeMeshPrimitive.ColorComponentType) { - case MeshPrimitive.TextureCoordsComponentTypeEnum.FLOAT: - accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; - break; - case MeshPrimitive.TextureCoordsComponentTypeEnum.NORMALIZED_UBYTE: - accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE; - byteStride = 4; + case MeshPrimitive.ColorComponentTypeEnum.NORMALIZED_UBYTE: + colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE; + if (vectorSize == 3) + { + byteStride = 4; + } break; - case MeshPrimitive.TextureCoordsComponentTypeEnum.NORMALIZED_USHORT: - accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT; + case MeshPrimitive.ColorComponentTypeEnum.NORMALIZED_USHORT: + colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT; + if (vectorSize == 3) + { + byteStride = 8; + } break; - default: // Default to Float - accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; + default: //Default to ColorComponentTypeEnum.FLOAT: + colorAccessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; break; } - var bufferView = CreateBufferView(bufferIndex, "Texture Coords " + i, byteLength, byteOffset, byteStride); + var bufferView = CreateBufferView(bufferIndex, "Colors", byteLength, byteOffset, byteStride); bufferViews.Add(bufferView); int bufferviewIndex = bufferViews.Count() - 1; - // Create Accessor - accessor = CreateAccessor(bufferviewIndex, 0, accessorComponentType, textureCoordSet.Count(), "UV Accessor " + i, null, null, glTFLoader.Schema.Accessor.TypeEnum.VEC2, normalized); + // Create an accessor for the bufferView + // we normalize if the color accessor mode is not set to FLOAT + bool normalized = runtimeMeshPrimitive.ColorComponentType != MeshPrimitive.ColorComponentTypeEnum.FLOAT; + var accessor = CreateAccessor(bufferviewIndex, 0, colorAccessorComponentType, runtimeMeshPrimitive.Colors.Count(), "Colors Accessor", null, null, colorAccessorType, normalized); accessors.Add(accessor); - - // Add any additional bytes if the data is normalized + gltfBufferContents.Add(runtimeMeshPrimitive.Colors); + accessorIndex = accessors.Count() - 1; if (normalized) { // Pad any additional bytes if byteLength is not a multiple of 4 Align(geometryData, byteLength, 4); } - attributes.Add("TEXCOORD_" + i, accessors.Count() - 1); + } + attributes.Add("COLOR_0", accessorIndex); + } + if (runtimeMeshPrimitive.TextureCoordSets != null) + { + for (int i = 0; i < runtimeMeshPrimitive.TextureCoordSets.Count; ++i) + { + int accessorIndex = -1; + foreach (object propertyInBuffer in gltfBufferContents) + { + if (propertyInBuffer.ObjectsEqual(runtimeMeshPrimitive.TextureCoordSets[i])) + { + accessorIndex = gltfBufferContents.IndexOf(propertyInBuffer); + break; + } + } + + if (accessorIndex == -1) + { + List textureCoordSet = runtimeMeshPrimitive.TextureCoordSets[i]; + int byteOffset = (int)geometryData.Writer.BaseStream.Position; + int byteLength = WriteTextureCoords(runtimeMeshPrimitive, textureCoordSet, 0, runtimeMeshPrimitive.TextureCoordSets[i].Count() - 1, geometryData); + + glTFLoader.Schema.Accessor accessor; + glTFLoader.Schema.Accessor.ComponentTypeEnum accessorComponentType; + // we normalize only if the texture cood accessor type is not float + bool normalized = runtimeMeshPrimitive.TextureCoordsComponentType != MeshPrimitive.TextureCoordsComponentTypeEnum.FLOAT; + int? byteStride = null; + switch (runtimeMeshPrimitive.TextureCoordsComponentType) + { + case MeshPrimitive.TextureCoordsComponentTypeEnum.FLOAT: + accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; + break; + case MeshPrimitive.TextureCoordsComponentTypeEnum.NORMALIZED_UBYTE: + accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE; + byteStride = 4; + break; + case MeshPrimitive.TextureCoordsComponentTypeEnum.NORMALIZED_USHORT: + accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT; + break; + default: // Default to Float + accessorComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.FLOAT; + break; + } + + var bufferView = CreateBufferView(bufferIndex, "Texture Coords " + i, byteLength, byteOffset, byteStride); + bufferViews.Add(bufferView); + int bufferviewIndex = bufferViews.Count() - 1; + // Create Accessor + accessor = CreateAccessor(bufferviewIndex, 0, accessorComponentType, textureCoordSet.Count(), "UV Accessor " + i, null, null, glTFLoader.Schema.Accessor.TypeEnum.VEC2, normalized); + + accessors.Add(accessor); + gltfBufferContents.Add(runtimeMeshPrimitive.TextureCoordSets[i]); + accessorIndex = accessors.Count() - 1; + + // Add any additional bytes if the data is normalized + if (normalized) + { + // Pad any additional bytes if byteLength is not a multiple of 4 + Align(geometryData, byteLength, 4); + } + } + attributes.Add("TEXCOORD_" + i, accessorIndex); } } } if (runtimeMeshPrimitive.Indices != null && runtimeMeshPrimitive.Indices.Count() > 0) { - int byteLength; - int byteOffset = (int)geometryData.Writer.BaseStream.Position; - glTFLoader.Schema.Accessor.ComponentTypeEnum indexComponentType; - - switch (runtimeMeshPrimitive.IndexComponentType) + int accessorIndex = -1; + foreach (object propertyInBuffer in gltfBufferContents) { - case MeshPrimitive.IndexComponentTypeEnum.UNSIGNED_BYTE: - indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE; - byteLength = sizeof(byte) * runtimeMeshPrimitive.Indices.Count(); - break; - case MeshPrimitive.IndexComponentTypeEnum.UNSIGNED_SHORT: - byteLength = sizeof(ushort) * runtimeMeshPrimitive.Indices.Count(); - indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT; - break; - case MeshPrimitive.IndexComponentTypeEnum.UNSIGNED_INT: - byteLength = sizeof(uint) * runtimeMeshPrimitive.Indices.Count(); - indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT; - break; - default: - throw new InvalidEnumArgumentException("Unrecognized Index Component Type Enum " + runtimeMeshPrimitive.IndexComponentType); + if (propertyInBuffer.ObjectsEqual(runtimeMeshPrimitive.Indices)) + { + accessorIndex = gltfBufferContents.IndexOf(propertyInBuffer); + } } - glTFLoader.Schema.BufferView bufferView = CreateBufferView(bufferIndex, "Indices", byteLength, byteOffset, null); - bufferViews.Add(bufferView); - int bufferviewIndex = bufferViews.Count() - 1; - var accessor = CreateAccessor(bufferviewIndex, 0, indexComponentType, runtimeMeshPrimitive.Indices.Count(), "Indices Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.SCALAR, null); - accessors.Add(accessor); - switch (indexComponentType) + if (accessorIndex == -1) { - case glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT: - foreach (var index in runtimeMeshPrimitive.Indices) - { - geometryData.Writer.Write(Convert.ToUInt32(index)); - } - break; - case glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE: - foreach (var index in runtimeMeshPrimitive.Indices) - { - geometryData.Writer.Write(Convert.ToByte(index)); - } - break; - case glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT: - foreach (var index in runtimeMeshPrimitive.Indices) - { - geometryData.Writer.Write(Convert.ToUInt16(index)); - } - break; - default: - throw new InvalidEnumArgumentException("Unsupported Index Component Type"); + int byteLength; + int byteOffset = (int)geometryData.Writer.BaseStream.Position; + glTFLoader.Schema.Accessor.ComponentTypeEnum indexComponentType; + + switch (runtimeMeshPrimitive.IndexComponentType) + { + case MeshPrimitive.IndexComponentTypeEnum.UNSIGNED_BYTE: + indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE; + byteLength = sizeof(byte) * runtimeMeshPrimitive.Indices.Count(); + break; + case MeshPrimitive.IndexComponentTypeEnum.UNSIGNED_SHORT: + byteLength = sizeof(ushort) * runtimeMeshPrimitive.Indices.Count(); + indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT; + break; + case MeshPrimitive.IndexComponentTypeEnum.UNSIGNED_INT: + byteLength = sizeof(uint) * runtimeMeshPrimitive.Indices.Count(); + indexComponentType = glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT; + break; + default: + throw new InvalidEnumArgumentException("Unrecognized Index Component Type Enum " + runtimeMeshPrimitive.IndexComponentType); + } + glTFLoader.Schema.BufferView bufferView = CreateBufferView(bufferIndex, "Indices", byteLength, byteOffset, null); + bufferViews.Add(bufferView); + int bufferviewIndex = bufferViews.Count() - 1; + + var accessor = CreateAccessor(bufferviewIndex, 0, indexComponentType, runtimeMeshPrimitive.Indices.Count(), "Indices Accessor", null, null, glTFLoader.Schema.Accessor.TypeEnum.SCALAR, null); + accessors.Add(accessor); + switch (indexComponentType) + { + case glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_INT: + foreach (var index in runtimeMeshPrimitive.Indices) + { + geometryData.Writer.Write(Convert.ToUInt32(index)); + } + break; + case glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_BYTE: + foreach (var index in runtimeMeshPrimitive.Indices) + { + geometryData.Writer.Write(Convert.ToByte(index)); + } + break; + case glTFLoader.Schema.Accessor.ComponentTypeEnum.UNSIGNED_SHORT: + foreach (var index in runtimeMeshPrimitive.Indices) + { + geometryData.Writer.Write(Convert.ToUInt16(index)); + } + break; + default: + throw new InvalidEnumArgumentException("Unsupported Index Component Type"); + } + accessorIndex = accessors.Count() - 1; + gltfBufferContents.Add(runtimeMeshPrimitive.Indices); } - mPrimitive.Indices = accessors.Count() - 1; + mPrimitive.Indices = accessorIndex; } mPrimitive.Attributes = attributes; if (runtimeMeshPrimitive.Material != null) { var nMaterial = ConvertMaterialToSchema(runtimeMeshPrimitive.Material, gltf); - materials.Add(nMaterial); - mPrimitive.Material = materials.Count() - 1; + + // If an equivalent material has already been created, re-use that material's index instead of creating a new material + mPrimitive.Material = AddInstanceOfObject(materials, nMaterial); } int totalByteLength = (int)geometryData.Writer.BaseStream.Position; if (totalByteLength > 0) @@ -1406,5 +1499,39 @@ private Vector3[] GetMinMaxPositions(MeshPrimitive meshPrimitive) Vector3[] results = { minVal, maxVal }; return results; } + + /// + /// Takes an object and adds it to a list if there isn't already an equivalent in that list. The index of either the newly added item or the existing one is returned. + /// + /// + /// List of instances that the object will be added to, if it doesn't already exist + /// Object that is being checked for uniqueness + /// Index of the item in the list + private int AddInstanceOfObject(List existingInstances, T instance) + { + int instanceIndex = -1; + int indexUsed; + + for (int i = 0; i < existingInstances.Count(); ++i) + { + if (existingInstances[i].ObjectsEqual(instance)) + { + instanceIndex = i; + break; + } + } + + if (instanceIndex > -1) + { + indexUsed = instanceIndex; + } + else + { + existingInstances.Add(instance); + indexUsed = existingInstances.Count() - 1; + } + + return indexUsed; + } } }