summaryrefslogtreecommitdiff
path: root/src/mesh/assimp-master/test/models/glTF
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-03-04 10:47:15 -0600
committersanine <sanine.not@pm.me>2022-03-04 10:47:15 -0600
commit058f98a63658dc1a2579826ba167fd61bed1e21f (patch)
treebcba07a1615a14d943f3af3f815a42f3be86b2f3 /src/mesh/assimp-master/test/models/glTF
parent2f8028ac9e0812cb6f3cbb08f0f419e4e717bd22 (diff)
add assimp submodule
Diffstat (limited to 'src/mesh/assimp-master/test/models/glTF')
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Binary/BoxTextured.glbbin0 -> 17721 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Embedded/BoxTextured.gltf339
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.binbin0 -> 840 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.gltf269
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/CesiumLogoFlat.pngbin0 -> 22051 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.binbin0 -> 840 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.gltf339
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0FS.glsl18
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0VS.glsl15
-rw-r--r--src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/CesiumLogoFlat.pngbin0 -> 22051 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.binbin0 -> 113052 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.gltf705
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.pngbin0 -> 923282 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0FS.glsl17
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0VS.glsl12
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1FS.glsl18
-rw-r--r--src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1VS.glsl15
-rw-r--r--src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube.binbin0 -> 514 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf283
-rw-r--r--src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box.binbin0 -> 648 bytes
-rw-r--r--src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0FS.glsl17
-rw-r--r--src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0VS.glsl12
-rw-r--r--src/mesh/assimp-master/test/models/glTF/TwoBoxes/TwoBoxes.gltf276
23 files changed, 2335 insertions, 0 deletions
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Binary/BoxTextured.glb b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Binary/BoxTextured.glb
new file mode 100644
index 0000000..b07abf3
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Binary/BoxTextured.glb
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Embedded/BoxTextured.gltf b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Embedded/BoxTextured.gltf
new file mode 100644
index 0000000..3554d42
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-Embedded/BoxTextured.gltf
@@ -0,0 +1,339 @@
+{
+ "accessors": {
+ "accessor_21": {
+ "bufferView": "bufferView_29",
+ "byteOffset": 0,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 36,
+ "type": "SCALAR"
+ },
+ "accessor_23": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 0,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "min": [
+ -0.5,
+ -0.5,
+ -0.5
+ ],
+ "type": "VEC3"
+ },
+ "accessor_25": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 288,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 1,
+ 1,
+ 1
+ ],
+ "min": [
+ -1,
+ -1,
+ -1
+ ],
+ "type": "VEC3"
+ },
+ "accessor_27": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 576,
+ "byteStride": 8,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 6,
+ 1
+ ],
+ "min": [
+ 0,
+ 0
+ ],
+ "type": "VEC2"
+ }
+ },
+ "animations": {},
+ "asset": {
+ "generator": "collada2gltf@027f74366341d569dea42e9a68b7104cc3892054",
+ "premultipliedAlpha": true,
+ "profile": {
+ "api": "WebGL",
+ "version": "1.0.2"
+ },
+ "version": "1.0"
+ },
+ "bufferViews": {
+ "bufferView_29": {
+ "buffer": "BoxTextured",
+ "byteLength": 72,
+ "byteOffset": 0,
+ "target": 34963
+ },
+ "bufferView_30": {
+ "buffer": "BoxTextured",
+ "byteLength": 768,
+ "byteOffset": 72,
+ "target": 34962
+ }
+ },
+ "buffers": {
+ "BoxTextured": {
+ "byteLength": 840,
+ "type": "arraybuffer",
+ "uri": "data:application/octet-stream;base64,AAABAAIAAwACAAEABAAFAAYABwAGAAUACAAJAAoACwAKAAkADAANAA4ADwAOAA0AEAARABIAEwASABEAFAAVABYAFwAWABUAAAAAvwAAAL8AAAA/AAAAPwAAAL8AAAA/AAAAvwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAL8AAAA/AAAAPwAAAD8AAAC/AAAAPwAAAL8AAAC/AAAAvwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAvwAAAD8AAAC/AAAAPwAAAD8AAAC/AAAAPwAAAL8AAAA/AAAAvwAAAL8AAAA/AAAAPwAAAL8AAAC/AAAAvwAAAL8AAAC/AAAAvwAAAL8AAAA/AAAAvwAAAD8AAAA/AAAAvwAAAL8AAAC/AAAAvwAAAD8AAAC/AAAAvwAAAL8AAAC/AAAAvwAAAD8AAAC/AAAAPwAAAL8AAAC/AAAAPwAAAD8AAAC/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AADAQAAAAAAAAKBAAAAAAAAAwED+/38/AACgQP7/fz8AAIBAAAAAAAAAoEAAAAAAAACAQAAAgD8AAKBAAACAPwAAAEAAAAAAAACAPwAAAAAAAABAAACAPwAAgD8AAIA/AABAQAAAAAAAAIBAAAAAAAAAQEAAAIA/AACAQAAAgD8AAEBAAAAAAAAAAEAAAAAAAABAQAAAgD8AAABAAACAPwAAAAAAAAAAAAAAAP7/fz8AAIA/AAAAAAAAgD/+/38/"
+ }
+ },
+ "images": {
+ "Image0001": {
+ "name": "Image0001",
+ "uri": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANMAAADTCAIAAACUZbGOAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwMTQgNzkuMTU2Nzk3LCAyMDE0LzA4LzIwLTA5OjUzOjAyICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMDMtMDJUMDg6NDc6NTQtMDU6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNS0wMy0wMlQwODo1MTo1Mi0wNTowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTUtMDMtMDJUMDg6NTE6NTItMDU6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmFhN2VhN2MtN2ZlZS0yZTQ3LWExNmUtMGVjNTc2YTkzZmY2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhYTdlYTdjLTdmZWUtMmU0Ny1hMTZlLTBlYzU3NmE5M2ZmNjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhYTdlYTdjLTdmZWUtMmU0Ny1hMTZlLTBlYzU3NmE5M2ZmNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYWE3ZWE3Yy03ZmVlLTJlNDctYTE2ZS0wZWM1NzZhOTNmZjY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDMtMDJUMDg6NDc6NTQtMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE0IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjExPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjIxMTwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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"
+ }
+ },
+ "materials": {
+ "Effect-Texture": {
+ "name": "Texture",
+ "technique": "technique0",
+ "values": {
+ "diffuse": "texture_Image0001",
+ "shininess": 256,
+ "specular": [
+ 0.2,
+ 0.2,
+ 0.2,
+ 1
+ ]
+ }
+ }
+ },
+ "meshes": {
+ "Geometry-mesh002": {
+ "name": "Mesh",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": "accessor_25",
+ "POSITION": "accessor_23",
+ "TEXCOORD_0": "accessor_27"
+ },
+ "indices": "accessor_21",
+ "material": "Effect-Texture",
+ "mode": 4
+ }
+ ]
+ }
+ },
+ "nodes": {
+ "Geometry-mesh002Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "meshes": [
+ "Geometry-mesh002"
+ ],
+ "name": "Mesh"
+ },
+ "groupLocator030Node": {
+ "children": [
+ "txtrLocator026Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Texture_Group"
+ },
+ "node_3": {
+ "children": [
+ "Geometry-mesh002Node",
+ "groupLocator030Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Y_UP_Transform"
+ },
+ "txtrLocator026Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Cesium_Logo_Flat__Image___Texture_"
+ }
+ },
+ "programs": {
+ "program_0": {
+ "attributes": [
+ "a_normal",
+ "a_position",
+ "a_texcoord0"
+ ],
+ "fragmentShader": "BoxTextured0FS",
+ "vertexShader": "BoxTextured0VS"
+ }
+ },
+ "samplers": {
+ "sampler_0": {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ },
+ "scene": "defaultScene",
+ "scenes": {
+ "defaultScene": {
+ "nodes": [
+ "node_3"
+ ]
+ }
+ },
+ "shaders": {
+ "BoxTextured0FS": {
+ "type": 35632,
+ "uri": "data:text/plain;base64,cHJlY2lzaW9uIGhpZ2hwIGZsb2F0Owp2YXJ5aW5nIHZlYzMgdl9ub3JtYWw7CnZhcnlpbmcgdmVjMiB2X3RleGNvb3JkMDsKdW5pZm9ybSBzYW1wbGVyMkQgdV9kaWZmdXNlOwp1bmlmb3JtIHZlYzQgdV9zcGVjdWxhcjsKdW5pZm9ybSBmbG9hdCB1X3NoaW5pbmVzczsKdm9pZCBtYWluKHZvaWQpIHsKdmVjMyBub3JtYWwgPSBub3JtYWxpemUodl9ub3JtYWwpOwp2ZWM0IGNvbG9yID0gdmVjNCgwLiwgMC4sIDAuLCAwLik7CnZlYzQgZGlmZnVzZSA9IHZlYzQoMC4sIDAuLCAwLiwgMS4pOwp2ZWM0IHNwZWN1bGFyOwpkaWZmdXNlID0gdGV4dHVyZTJEKHVfZGlmZnVzZSwgdl90ZXhjb29yZDApOwpzcGVjdWxhciA9IHVfc3BlY3VsYXI7CmRpZmZ1c2UueHl6ICo9IG1heChkb3Qobm9ybWFsLHZlYzMoMC4sMC4sMS4pKSwgMC4pOwpjb2xvci54eXogKz0gZGlmZnVzZS54eXo7CmNvbG9yID0gdmVjNChjb2xvci5yZ2IgKiBkaWZmdXNlLmEsIGRpZmZ1c2UuYSk7CmdsX0ZyYWdDb2xvciA9IGNvbG9yOwp9Cg=="
+ },
+ "BoxTextured0VS": {
+ "type": 35633,
+ "uri": "data:text/plain;base64,cHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwphdHRyaWJ1dGUgdmVjMyBhX3Bvc2l0aW9uOwphdHRyaWJ1dGUgdmVjMyBhX25vcm1hbDsKdmFyeWluZyB2ZWMzIHZfbm9ybWFsOwp1bmlmb3JtIG1hdDMgdV9ub3JtYWxNYXRyaXg7CnVuaWZvcm0gbWF0NCB1X21vZGVsVmlld01hdHJpeDsKdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbk1hdHJpeDsKYXR0cmlidXRlIHZlYzIgYV90ZXhjb29yZDA7CnZhcnlpbmcgdmVjMiB2X3RleGNvb3JkMDsKdm9pZCBtYWluKHZvaWQpIHsKdmVjNCBwb3MgPSB1X21vZGVsVmlld01hdHJpeCAqIHZlYzQoYV9wb3NpdGlvbiwxLjApOwp2X25vcm1hbCA9IHVfbm9ybWFsTWF0cml4ICogYV9ub3JtYWw7CnZfdGV4Y29vcmQwID0gYV90ZXhjb29yZDA7CmdsX1Bvc2l0aW9uID0gdV9wcm9qZWN0aW9uTWF0cml4ICogcG9zOwp9Cg=="
+ }
+ },
+ "skins": {},
+ "techniques": {
+ "technique0": {
+ "attributes": {
+ "a_normal": "normal",
+ "a_position": "position",
+ "a_texcoord0": "texcoord0"
+ },
+ "parameters": {
+ "diffuse": {
+ "type": 35678
+ },
+ "modelViewMatrix": {
+ "semantic": "MODELVIEW",
+ "type": 35676
+ },
+ "normal": {
+ "semantic": "NORMAL",
+ "type": 35665
+ },
+ "normalMatrix": {
+ "semantic": "MODELVIEWINVERSETRANSPOSE",
+ "type": 35675
+ },
+ "position": {
+ "semantic": "POSITION",
+ "type": 35665
+ },
+ "projectionMatrix": {
+ "semantic": "PROJECTION",
+ "type": 35676
+ },
+ "shininess": {
+ "type": 5126
+ },
+ "specular": {
+ "type": 35666
+ },
+ "texcoord0": {
+ "semantic": "TEXCOORD_0",
+ "type": 35664
+ }
+ },
+ "program": "program_0",
+ "states": {
+ "enable": [
+ 2929,
+ 2884
+ ]
+ },
+ "uniforms": {
+ "u_diffuse": "diffuse",
+ "u_modelViewMatrix": "modelViewMatrix",
+ "u_normalMatrix": "normalMatrix",
+ "u_projectionMatrix": "projectionMatrix",
+ "u_shininess": "shininess",
+ "u_specular": "specular"
+ }
+ }
+ },
+ "textures": {
+ "texture_Image0001": {
+ "format": 6408,
+ "internalFormat": 6408,
+ "sampler": "sampler_0",
+ "source": "Image0001",
+ "target": 3553,
+ "type": 5121
+ }
+ }
+} \ No newline at end of file
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.bin b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.bin
new file mode 100644
index 0000000..79f5db4
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.bin
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.gltf b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.gltf
new file mode 100644
index 0000000..b3f483e
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/BoxTextured.gltf
@@ -0,0 +1,269 @@
+{
+ "accessors": {
+ "accessor_21": {
+ "bufferView": "bufferView_29",
+ "byteOffset": 0,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 36,
+ "type": "SCALAR"
+ },
+ "accessor_23": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 0,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "min": [
+ -0.5,
+ -0.5,
+ -0.5
+ ],
+ "type": "VEC3"
+ },
+ "accessor_25": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 288,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 1,
+ 1,
+ 1
+ ],
+ "min": [
+ -1,
+ -1,
+ -1
+ ],
+ "type": "VEC3"
+ },
+ "accessor_27": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 576,
+ "byteStride": 8,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 6,
+ 1
+ ],
+ "min": [
+ 0,
+ 0
+ ],
+ "type": "VEC2"
+ }
+ },
+ "animations": {},
+ "asset": {
+ "generator": "collada2gltf@027f74366341d569dea42e9a68b7104cc3892054",
+ "premultipliedAlpha": true,
+ "profile": {
+ "api": "WebGL",
+ "version": "1.0.2"
+ },
+ "version": "1.0"
+ },
+ "bufferViews": {
+ "bufferView_29": {
+ "buffer": "BoxTextured",
+ "byteLength": 72,
+ "byteOffset": 0,
+ "target": 34963
+ },
+ "bufferView_30": {
+ "buffer": "BoxTextured",
+ "byteLength": 768,
+ "byteOffset": 72,
+ "target": 34962
+ }
+ },
+ "buffers": {
+ "BoxTextured": {
+ "byteLength": 840,
+ "type": "arraybuffer",
+ "uri": "BoxTextured.bin"
+ }
+ },
+ "extensionsUsed": [
+ "KHR_materials_common"
+ ],
+ "images": {
+ "Image0001": {
+ "name": "Image0001",
+ "uri": "CesiumLogoFlat.png"
+ }
+ },
+ "materials": {
+ "Effect-Texture": {
+ "extensions": {
+ "KHR_materials_common": {
+ "doubleSided": false,
+ "jointCount": 0,
+ "technique": "PHONG",
+ "transparent": false,
+ "values": {
+ "diffuse": "texture_Image0001",
+ "shininess": 256,
+ "specular": [
+ 0.2,
+ 0.2,
+ 0.2,
+ 1
+ ]
+ }
+ }
+ },
+ "name": "Texture"
+ }
+ },
+ "meshes": {
+ "Geometry-mesh002": {
+ "name": "Mesh",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": "accessor_25",
+ "POSITION": "accessor_23",
+ "TEXCOORD_0": "accessor_27"
+ },
+ "indices": "accessor_21",
+ "material": "Effect-Texture",
+ "mode": 4
+ }
+ ]
+ }
+ },
+ "nodes": {
+ "Geometry-mesh002Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "meshes": [
+ "Geometry-mesh002"
+ ],
+ "name": "Mesh"
+ },
+ "groupLocator030Node": {
+ "children": [
+ "txtrLocator026Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Texture_Group"
+ },
+ "node_3": {
+ "children": [
+ "Geometry-mesh002Node",
+ "groupLocator030Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Y_UP_Transform"
+ },
+ "txtrLocator026Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Cesium_Logo_Flat__Image___Texture_"
+ }
+ },
+ "samplers": {
+ "sampler_0": {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ },
+ "scene": "defaultScene",
+ "scenes": {
+ "defaultScene": {
+ "nodes": [
+ "node_3"
+ ]
+ }
+ },
+ "skins": {},
+ "textures": {
+ "texture_Image0001": {
+ "format": 6408,
+ "internalFormat": 6408,
+ "sampler": "sampler_0",
+ "source": "Image0001",
+ "target": 3553,
+ "type": 5121
+ }
+ }
+} \ No newline at end of file
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/CesiumLogoFlat.png b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/CesiumLogoFlat.png
new file mode 100644
index 0000000..88bada3
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF-MaterialsCommon/CesiumLogoFlat.png
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.bin b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.bin
new file mode 100644
index 0000000..79f5db4
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.bin
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.gltf b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.gltf
new file mode 100644
index 0000000..c804768
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured.gltf
@@ -0,0 +1,339 @@
+{
+ "accessors": {
+ "accessor_21": {
+ "bufferView": "bufferView_29",
+ "byteOffset": 0,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 36,
+ "type": "SCALAR"
+ },
+ "accessor_23": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 0,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "min": [
+ -0.5,
+ -0.5,
+ -0.5
+ ],
+ "type": "VEC3"
+ },
+ "accessor_25": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 288,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 1,
+ 1,
+ 1
+ ],
+ "min": [
+ -1,
+ -1,
+ -1
+ ],
+ "type": "VEC3"
+ },
+ "accessor_27": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 576,
+ "byteStride": 8,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 6,
+ 1
+ ],
+ "min": [
+ 0,
+ 0
+ ],
+ "type": "VEC2"
+ }
+ },
+ "animations": {},
+ "asset": {
+ "generator": "collada2gltf@027f74366341d569dea42e9a68b7104cc3892054",
+ "premultipliedAlpha": true,
+ "profile": {
+ "api": "WebGL",
+ "version": "1.0.2"
+ },
+ "version": "1.0"
+ },
+ "bufferViews": {
+ "bufferView_29": {
+ "buffer": "BoxTextured",
+ "byteLength": 72,
+ "byteOffset": 0,
+ "target": 34963
+ },
+ "bufferView_30": {
+ "buffer": "BoxTextured",
+ "byteLength": 768,
+ "byteOffset": 72,
+ "target": 34962
+ }
+ },
+ "buffers": {
+ "BoxTextured": {
+ "byteLength": 840,
+ "type": "arraybuffer",
+ "uri": "BoxTextured.bin"
+ }
+ },
+ "images": {
+ "Image0001": {
+ "name": "Image0001",
+ "uri": "CesiumLogoFlat.png"
+ }
+ },
+ "materials": {
+ "Effect-Texture": {
+ "name": "Texture",
+ "technique": "technique0",
+ "values": {
+ "diffuse": "texture_Image0001",
+ "shininess": 256,
+ "specular": [
+ 0.2,
+ 0.2,
+ 0.2,
+ 1
+ ]
+ }
+ }
+ },
+ "meshes": {
+ "Geometry-mesh002": {
+ "name": "Mesh",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": "accessor_25",
+ "POSITION": "accessor_23",
+ "TEXCOORD_0": "accessor_27"
+ },
+ "indices": "accessor_21",
+ "material": "Effect-Texture",
+ "mode": 4
+ }
+ ]
+ }
+ },
+ "nodes": {
+ "Geometry-mesh002Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "meshes": [
+ "Geometry-mesh002"
+ ],
+ "name": "Mesh"
+ },
+ "groupLocator030Node": {
+ "children": [
+ "txtrLocator026Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Texture_Group"
+ },
+ "node_3": {
+ "children": [
+ "Geometry-mesh002Node",
+ "groupLocator030Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Y_UP_Transform"
+ },
+ "txtrLocator026Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Cesium_Logo_Flat__Image___Texture_"
+ }
+ },
+ "programs": {
+ "program_0": {
+ "attributes": [
+ "a_normal",
+ "a_position",
+ "a_texcoord0"
+ ],
+ "fragmentShader": "BoxTextured0FS",
+ "vertexShader": "BoxTextured0VS"
+ }
+ },
+ "samplers": {
+ "sampler_0": {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ },
+ "scene": "defaultScene",
+ "scenes": {
+ "defaultScene": {
+ "nodes": [
+ "node_3"
+ ]
+ }
+ },
+ "shaders": {
+ "BoxTextured0FS": {
+ "type": 35632,
+ "uri": "BoxTextured0FS.glsl"
+ },
+ "BoxTextured0VS": {
+ "type": 35633,
+ "uri": "BoxTextured0VS.glsl"
+ }
+ },
+ "skins": {},
+ "techniques": {
+ "technique0": {
+ "attributes": {
+ "a_normal": "normal",
+ "a_position": "position",
+ "a_texcoord0": "texcoord0"
+ },
+ "parameters": {
+ "diffuse": {
+ "type": 35678
+ },
+ "modelViewMatrix": {
+ "semantic": "MODELVIEW",
+ "type": 35676
+ },
+ "normal": {
+ "semantic": "NORMAL",
+ "type": 35665
+ },
+ "normalMatrix": {
+ "semantic": "MODELVIEWINVERSETRANSPOSE",
+ "type": 35675
+ },
+ "position": {
+ "semantic": "POSITION",
+ "type": 35665
+ },
+ "projectionMatrix": {
+ "semantic": "PROJECTION",
+ "type": 35676
+ },
+ "shininess": {
+ "type": 5126
+ },
+ "specular": {
+ "type": 35666
+ },
+ "texcoord0": {
+ "semantic": "TEXCOORD_0",
+ "type": 35664
+ }
+ },
+ "program": "program_0",
+ "states": {
+ "enable": [
+ 2929,
+ 2884
+ ]
+ },
+ "uniforms": {
+ "u_diffuse": "diffuse",
+ "u_modelViewMatrix": "modelViewMatrix",
+ "u_normalMatrix": "normalMatrix",
+ "u_projectionMatrix": "projectionMatrix",
+ "u_shininess": "shininess",
+ "u_specular": "specular"
+ }
+ }
+ },
+ "textures": {
+ "texture_Image0001": {
+ "format": 6408,
+ "internalFormat": 6408,
+ "sampler": "sampler_0",
+ "source": "Image0001",
+ "target": 3553,
+ "type": 5121
+ }
+ }
+} \ No newline at end of file
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0FS.glsl b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0FS.glsl
new file mode 100644
index 0000000..782e1f4
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0FS.glsl
@@ -0,0 +1,18 @@
+precision highp float;
+varying vec3 v_normal;
+varying vec2 v_texcoord0;
+uniform sampler2D u_diffuse;
+uniform vec4 u_specular;
+uniform float u_shininess;
+void main(void) {
+vec3 normal = normalize(v_normal);
+vec4 color = vec4(0., 0., 0., 0.);
+vec4 diffuse = vec4(0., 0., 0., 1.);
+vec4 specular;
+diffuse = texture2D(u_diffuse, v_texcoord0);
+specular = u_specular;
+diffuse.xyz *= max(dot(normal,vec3(0.,0.,1.)), 0.);
+color.xyz += diffuse.xyz;
+color = vec4(color.rgb * diffuse.a, diffuse.a);
+gl_FragColor = color;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0VS.glsl b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0VS.glsl
new file mode 100644
index 0000000..cacc9ed
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/BoxTextured0VS.glsl
@@ -0,0 +1,15 @@
+precision highp float;
+attribute vec3 a_position;
+attribute vec3 a_normal;
+varying vec3 v_normal;
+uniform mat3 u_normalMatrix;
+uniform mat4 u_modelViewMatrix;
+uniform mat4 u_projectionMatrix;
+attribute vec2 a_texcoord0;
+varying vec2 v_texcoord0;
+void main(void) {
+vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);
+v_normal = u_normalMatrix * a_normal;
+v_texcoord0 = a_texcoord0;
+gl_Position = u_projectionMatrix * pos;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/CesiumLogoFlat.png b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/CesiumLogoFlat.png
new file mode 100644
index 0000000..88bada3
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/BoxTextured-glTF/CesiumLogoFlat.png
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.bin b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.bin
new file mode 100644
index 0000000..e718eec
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.bin
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.gltf b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.gltf
new file mode 100644
index 0000000..0d66c6f
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.gltf
@@ -0,0 +1,705 @@
+{
+ "accessors": {
+ "accessor_100": {
+ "bufferView": "bufferView_105",
+ "byteOffset": 7032,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 586,
+ "max": [
+ 0.999039,
+ 0.999038,
+ 1
+ ],
+ "min": [
+ -0.999038,
+ -0.999038,
+ -1
+ ],
+ "type": "VEC3"
+ },
+ "accessor_102": {
+ "bufferView": "bufferView_105",
+ "byteOffset": 14064,
+ "byteStride": 8,
+ "componentType": 5126,
+ "count": 586,
+ "max": [
+ 0.993657,
+ 0.989576
+ ],
+ "min": [
+ 0.605093,
+ 0.00905001
+ ],
+ "type": "VEC2"
+ },
+ "accessor_63": {
+ "bufferView": "bufferView_104",
+ "byteOffset": 4608,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 5232,
+ "type": "SCALAR"
+ },
+ "accessor_66": {
+ "bufferView": "bufferView_104",
+ "byteOffset": 15072,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 168,
+ "type": "SCALAR"
+ },
+ "accessor_69": {
+ "bufferView": "bufferView_104",
+ "byteOffset": 15408,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 864,
+ "type": "SCALAR"
+ },
+ "accessor_71": {
+ "bufferView": "bufferView_105",
+ "byteOffset": 18752,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 2392,
+ "max": [
+ 2.438,
+ 2.58437,
+ 1.396
+ ],
+ "min": [
+ -2.43091,
+ 0.2668,
+ -1.396
+ ],
+ "type": "VEC3"
+ },
+ "accessor_73": {
+ "bufferView": "bufferView_105",
+ "byteOffset": 47456,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 2392,
+ "max": [
+ 1,
+ 1,
+ 1
+ ],
+ "min": [
+ -1,
+ -1,
+ -1
+ ],
+ "type": "VEC3"
+ },
+ "accessor_75": {
+ "bufferView": "bufferView_105",
+ "byteOffset": 76160,
+ "byteStride": 8,
+ "componentType": 5126,
+ "count": 2392,
+ "max": [
+ 0.896458,
+ 0.997245
+ ],
+ "min": [
+ 0.00295639,
+ 0.015672
+ ],
+ "type": "VEC2"
+ },
+ "accessor_96": {
+ "bufferView": "bufferView_104",
+ "byteOffset": 0,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 2304,
+ "type": "SCALAR"
+ },
+ "accessor_98": {
+ "bufferView": "bufferView_105",
+ "byteOffset": 0,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 586,
+ "max": [
+ 0.4278,
+ 0.4278,
+ 1.058
+ ],
+ "min": [
+ -0.4278,
+ -0.4278,
+ -1.058
+ ],
+ "type": "VEC3"
+ },
+ "animAccessor_0": {
+ "bufferView": "bufferView_103",
+ "byteOffset": 0,
+ "componentType": 5126,
+ "count": 31,
+ "type": "SCALAR"
+ },
+ "animAccessor_1": {
+ "bufferView": "bufferView_103",
+ "byteOffset": 124,
+ "componentType": 5126,
+ "count": 31,
+ "type": "VEC4"
+ }
+ },
+ "animations": {
+ "animation_0": {
+ "channels": [
+ {
+ "sampler": "animation_0_rotation_sampler",
+ "target": {
+ "id": "Geometry-mesh001Node",
+ "path": "rotation"
+ }
+ }
+ ],
+ "parameters": {
+ "TIME": "animAccessor_0",
+ "rotation": "animAccessor_1"
+ },
+ "samplers": {
+ "animation_0_rotation_sampler": {
+ "input": "TIME",
+ "interpolation": "LINEAR",
+ "output": "rotation"
+ }
+ }
+ },
+ "animation_1": {
+ "channels": [
+ {
+ "sampler": "animation_1_rotation_sampler",
+ "target": {
+ "id": "meshInst962Node",
+ "path": "rotation"
+ }
+ }
+ ],
+ "parameters": {
+ "TIME": "animAccessor_0",
+ "rotation": "animAccessor_1"
+ },
+ "samplers": {
+ "animation_1_rotation_sampler": {
+ "input": "TIME",
+ "interpolation": "LINEAR",
+ "output": "rotation"
+ }
+ }
+ }
+ },
+ "asset": {
+ "generator": "collada2gltf@ceec062e3d5793f2f249f53cbd843aee382ad40b",
+ "premultipliedAlpha": true,
+ "profile": {
+ "api": "WebGL",
+ "version": "1.0.2"
+ },
+ "version": 1
+ },
+ "bufferViews": {
+ "bufferView_103": {
+ "buffer": "CesiumMilkTruck",
+ "byteLength": 620,
+ "byteOffset": 0
+ },
+ "bufferView_104": {
+ "buffer": "CesiumMilkTruck",
+ "byteLength": 17136,
+ "byteOffset": 620,
+ "target": 34963
+ },
+ "bufferView_105": {
+ "buffer": "CesiumMilkTruck",
+ "byteLength": 95296,
+ "byteOffset": 17756,
+ "target": 34962
+ }
+ },
+ "buffers": {
+ "CesiumMilkTruck": {
+ "byteLength": 113052,
+ "type": "arraybuffer",
+ "uri": "CesiumMilkTruck.bin"
+ }
+ },
+ "images": {
+ "Image0001": {
+ "name": "Image0001",
+ "uri": "CesiumMilkTruck.png"
+ }
+ },
+ "materials": {
+ "Effect-glass": {
+ "name": "glass",
+ "technique": "technique0",
+ "values": {
+ "diffuse": [
+ 0,
+ 0.0405063,
+ 0.0212407,
+ 1
+ ],
+ "shininess": 256,
+ "specular": [
+ 0.65,
+ 0.65,
+ 0.65,
+ 1
+ ]
+ }
+ },
+ "Effect-truck": {
+ "name": "truck",
+ "technique": "technique1",
+ "values": {
+ "diffuse": "texture_Image0001",
+ "shininess": 256,
+ "specular": [
+ 0.04,
+ 0.04,
+ 0.04,
+ 1
+ ]
+ }
+ },
+ "Effect-wheels": {
+ "name": "wheels",
+ "technique": "technique1",
+ "values": {
+ "diffuse": "texture_Image0001",
+ "shininess": 256,
+ "specular": [
+ 0.04,
+ 0.04,
+ 0.04,
+ 1
+ ]
+ }
+ },
+ "Effect-window_trim": {
+ "name": "window_trim",
+ "technique": "technique0",
+ "values": {
+ "diffuse": [
+ 0.064,
+ 0.064,
+ 0.064,
+ 1
+ ],
+ "shininess": 256,
+ "specular": [
+ 0.04,
+ 0.04,
+ 0.04,
+ 1
+ ]
+ }
+ }
+ },
+ "meshes": {
+ "Geometry-mesh001": {
+ "name": "Wheels",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": "accessor_100",
+ "POSITION": "accessor_98",
+ "TEXCOORD_0": "accessor_102"
+ },
+ "indices": "accessor_96",
+ "material": "Effect-wheels",
+ "mode": 4
+ }
+ ]
+ },
+ "Geometry-mesh002": {
+ "name": "Cesium_Milk_Truck",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": "accessor_73",
+ "POSITION": "accessor_71",
+ "TEXCOORD_0": "accessor_75"
+ },
+ "indices": "accessor_63",
+ "material": "Effect-truck",
+ "mode": 4
+ },
+ {
+ "attributes": {
+ "NORMAL": "accessor_73",
+ "POSITION": "accessor_71",
+ "TEXCOORD_0": "accessor_75"
+ },
+ "indices": "accessor_66",
+ "material": "Effect-glass",
+ "mode": 4
+ },
+ {
+ "attributes": {
+ "NORMAL": "accessor_73",
+ "POSITION": "accessor_71",
+ "TEXCOORD_0": "accessor_75"
+ },
+ "indices": "accessor_69",
+ "material": "Effect-window_trim",
+ "mode": 4
+ }
+ ]
+ }
+ },
+ "nodes": {
+ "Geometry-mesh001Node": {
+ "children": [],
+ "meshes": [
+ "Geometry-mesh001"
+ ],
+ "name": "Wheels",
+ "rotation": [
+ 0,
+ 0,
+ -0.0884856,
+ 0.996077
+ ],
+ "scale": [
+ 1,
+ 1,
+ 1
+ ],
+ "translation": [
+ 1.43267,
+ 0.427722,
+ -2.98023e-008
+ ]
+ },
+ "Geometry-mesh002Node": {
+ "children": [
+ "Geometry-mesh001Node",
+ "meshInst962Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "meshes": [
+ "Geometry-mesh002"
+ ],
+ "name": "Cesium_Milk_Truck"
+ },
+ "groupLocator006Node": {
+ "children": [
+ "txtrLocator003Node",
+ "txtrLocator013Node"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Texture_Group"
+ },
+ "meshInst962Node": {
+ "children": [],
+ "meshes": [
+ "Geometry-mesh001"
+ ],
+ "name": "Wheels__2_",
+ "rotation": [
+ 0,
+ 0,
+ -0.0884856,
+ 0.996077
+ ],
+ "scale": [
+ 1,
+ 1,
+ 1
+ ],
+ "translation": [
+ -1.35233,
+ 0.427722,
+ -2.98023e-008
+ ]
+ },
+ "polyRender006": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Render"
+ },
+ "txtrLocator003Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Cesium_Milk_Truck__2___Image___Texture_"
+ },
+ "txtrLocator013Node": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Cesium_Milk_Truck__2___Image___2___Texture_"
+ }
+ },
+ "programs": {
+ "program_0": {
+ "attributes": [
+ "a_normal",
+ "a_position"
+ ],
+ "fragmentShader": "CesiumMilkTruck0FS",
+ "vertexShader": "CesiumMilkTruck0VS"
+ },
+ "program_1": {
+ "attributes": [
+ "a_normal",
+ "a_position",
+ "a_texcoord0"
+ ],
+ "fragmentShader": "CesiumMilkTruck1FS",
+ "vertexShader": "CesiumMilkTruck1VS"
+ }
+ },
+ "samplers": {
+ "sampler_0": {
+ "magFilter": 9729,
+ "minFilter": 9987,
+ "wrapS": 10497,
+ "wrapT": 10497
+ }
+ },
+ "scene": "defaultScene",
+ "scenes": {
+ "defaultScene": {
+ "nodes": [
+ "polyRender006",
+ "Geometry-mesh002Node",
+ "groupLocator006Node"
+ ]
+ }
+ },
+ "shaders": {
+ "CesiumMilkTruck0FS": {
+ "type": 35632,
+ "uri": "CesiumMilkTruck0FS.glsl"
+ },
+ "CesiumMilkTruck0VS": {
+ "type": 35633,
+ "uri": "CesiumMilkTruck0VS.glsl"
+ },
+ "CesiumMilkTruck1FS": {
+ "type": 35632,
+ "uri": "CesiumMilkTruck1FS.glsl"
+ },
+ "CesiumMilkTruck1VS": {
+ "type": 35633,
+ "uri": "CesiumMilkTruck1VS.glsl"
+ }
+ },
+ "skins": {},
+ "techniques": {
+ "technique0": {
+ "attributes": {
+ "a_normal": "normal",
+ "a_position": "position"
+ },
+ "parameters": {
+ "diffuse": {
+ "type": 35666
+ },
+ "modelViewMatrix": {
+ "semantic": "MODELVIEW",
+ "type": 35676
+ },
+ "normal": {
+ "semantic": "NORMAL",
+ "type": 35665
+ },
+ "normalMatrix": {
+ "semantic": "MODELVIEWINVERSETRANSPOSE",
+ "type": 35675
+ },
+ "position": {
+ "semantic": "POSITION",
+ "type": 35665
+ },
+ "projectionMatrix": {
+ "semantic": "PROJECTION",
+ "type": 35676
+ },
+ "shininess": {
+ "type": 5126
+ },
+ "specular": {
+ "type": 35666
+ }
+ },
+ "program": "program_0",
+ "states": {
+ "enable": [
+ 2929,
+ 2884
+ ]
+ },
+ "uniforms": {
+ "u_diffuse": "diffuse",
+ "u_modelViewMatrix": "modelViewMatrix",
+ "u_normalMatrix": "normalMatrix",
+ "u_projectionMatrix": "projectionMatrix",
+ "u_shininess": "shininess",
+ "u_specular": "specular"
+ }
+ },
+ "technique1": {
+ "attributes": {
+ "a_normal": "normal",
+ "a_position": "position",
+ "a_texcoord0": "texcoord0"
+ },
+ "parameters": {
+ "diffuse": {
+ "type": 35678
+ },
+ "modelViewMatrix": {
+ "semantic": "MODELVIEW",
+ "type": 35676
+ },
+ "normal": {
+ "semantic": "NORMAL",
+ "type": 35665
+ },
+ "normalMatrix": {
+ "semantic": "MODELVIEWINVERSETRANSPOSE",
+ "type": 35675
+ },
+ "position": {
+ "semantic": "POSITION",
+ "type": 35665
+ },
+ "projectionMatrix": {
+ "semantic": "PROJECTION",
+ "type": 35676
+ },
+ "shininess": {
+ "type": 5126
+ },
+ "specular": {
+ "type": 35666
+ },
+ "texcoord0": {
+ "semantic": "TEXCOORD_0",
+ "type": 35664
+ }
+ },
+ "program": "program_1",
+ "states": {
+ "enable": [
+ 2929,
+ 2884
+ ]
+ },
+ "uniforms": {
+ "u_diffuse": "diffuse",
+ "u_modelViewMatrix": "modelViewMatrix",
+ "u_normalMatrix": "normalMatrix",
+ "u_projectionMatrix": "projectionMatrix",
+ "u_shininess": "shininess",
+ "u_specular": "specular"
+ }
+ }
+ },
+ "textures": {
+ "texture_Image0001": {
+ "format": 6408,
+ "internalFormat": 6408,
+ "sampler": "sampler_0",
+ "source": "Image0001",
+ "target": 3553,
+ "type": 5121
+ }
+ }
+} \ No newline at end of file
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.png b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.png
new file mode 100644
index 0000000..ba7a47c
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck.png
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0FS.glsl b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0FS.glsl
new file mode 100644
index 0000000..6e928dc
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0FS.glsl
@@ -0,0 +1,17 @@
+precision highp float;
+varying vec3 v_normal;
+uniform vec4 u_diffuse;
+uniform vec4 u_specular;
+uniform float u_shininess;
+void main(void) {
+vec3 normal = normalize(v_normal);
+vec4 color = vec4(0., 0., 0., 0.);
+vec4 diffuse = vec4(0., 0., 0., 1.);
+vec4 specular;
+diffuse = u_diffuse;
+specular = u_specular;
+diffuse.xyz *= max(dot(normal,vec3(0.,0.,1.)), 0.);
+color.xyz += diffuse.xyz;
+color = vec4(color.rgb * diffuse.a, diffuse.a);
+gl_FragColor = color;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0VS.glsl b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0VS.glsl
new file mode 100644
index 0000000..9e35922
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck0VS.glsl
@@ -0,0 +1,12 @@
+precision highp float;
+attribute vec3 a_position;
+attribute vec3 a_normal;
+varying vec3 v_normal;
+uniform mat3 u_normalMatrix;
+uniform mat4 u_modelViewMatrix;
+uniform mat4 u_projectionMatrix;
+void main(void) {
+vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);
+v_normal = u_normalMatrix * a_normal;
+gl_Position = u_projectionMatrix * pos;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1FS.glsl b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1FS.glsl
new file mode 100644
index 0000000..782e1f4
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1FS.glsl
@@ -0,0 +1,18 @@
+precision highp float;
+varying vec3 v_normal;
+varying vec2 v_texcoord0;
+uniform sampler2D u_diffuse;
+uniform vec4 u_specular;
+uniform float u_shininess;
+void main(void) {
+vec3 normal = normalize(v_normal);
+vec4 color = vec4(0., 0., 0., 0.);
+vec4 diffuse = vec4(0., 0., 0., 1.);
+vec4 specular;
+diffuse = texture2D(u_diffuse, v_texcoord0);
+specular = u_specular;
+diffuse.xyz *= max(dot(normal,vec3(0.,0.,1.)), 0.);
+color.xyz += diffuse.xyz;
+color = vec4(color.rgb * diffuse.a, diffuse.a);
+gl_FragColor = color;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1VS.glsl b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1VS.glsl
new file mode 100644
index 0000000..cacc9ed
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/CesiumMilkTruck/CesiumMilkTruck1VS.glsl
@@ -0,0 +1,15 @@
+precision highp float;
+attribute vec3 a_position;
+attribute vec3 a_normal;
+varying vec3 v_normal;
+uniform mat3 u_normalMatrix;
+uniform mat4 u_modelViewMatrix;
+uniform mat4 u_projectionMatrix;
+attribute vec2 a_texcoord0;
+varying vec2 v_texcoord0;
+void main(void) {
+vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);
+v_normal = u_normalMatrix * a_normal;
+v_texcoord0 = a_texcoord0;
+gl_Position = u_projectionMatrix * pos;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube.bin b/src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube.bin
new file mode 100644
index 0000000..fa55b36
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube.bin
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf b/src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf
new file mode 100644
index 0000000..c076c5b
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/IncorrectVertexArrays/Cube_v1.gltf
@@ -0,0 +1,283 @@
+{
+ "accessors" : {
+ "accessor_0" : {
+ "bufferView" : "bufferView_0",
+ "byteOffset" : 0,
+ "componentType" : 5123,
+ "count" : 36,
+ "max" : [
+ 35
+ ],
+ "min" : [
+ 0
+ ],
+ "type" : "SCALAR"
+ },
+ "accessor_1" : {
+ "bufferView" : "bufferView_1",
+ "byteOffset" : 0,
+ "componentType" : 5126,
+ "count" : 36,
+ "max" : [
+ 1.000000,
+ 1.000000,
+ 1.000001
+ ],
+ "min" : [
+ -1.000000,
+ -1.000000,
+ -1.000000
+ ],
+ "type" : "VEC3"
+ },
+ "accessor_2" : {
+ "bufferView" : "bufferView_2",
+ "byteOffset" : 0,
+ "componentType" : 5126,
+ "count" : 36,
+ "max" : [
+ 1.000000,
+ 1.000000,
+ 1.000000
+ ],
+ "min" : [
+ -1.000000,
+ -1.000000,
+ -1.000000
+ ],
+ "type" : "VEC3"
+ },
+ "accessor_3" : {
+ "bufferView" : "bufferView_3",
+ "byteOffset" : 0,
+ "componentType" : 5126,
+ "count" : 36,
+ "max" : [
+ 1.000000,
+ -0.000000,
+ -0.000000,
+ 1.000000
+ ],
+ "min" : [
+ 0.000000,
+ -0.000000,
+ -1.000000,
+ -1.000000
+ ],
+ "type" : "VEC4"
+ },
+ "accessor_4" : {
+ "bufferView" : "bufferView_4",
+ "byteOffset" : 0,
+ "componentType" : 5126,
+ "count" : 36,
+ "max" : [
+ 1.000000,
+ 1.000000
+ ],
+ "min" : [
+ -1.000000,
+ -1.000000
+ ],
+ "type" : "VEC2"
+ },
+ "accessor_5" : {
+ "bufferView" : "bufferView_1",
+ "byteOffset" : 0,
+ "componentType" : 5126,
+ "count" : 36,
+ "type" : "VEC3"
+ },
+ "accessor_6" : {
+ "bufferView" : "bufferView_1",
+ "byteOffset" : 0,
+ "componentType" : 5126,
+ "count" : 35,
+ "type" : "VEC3"
+ },
+ "accessor_7" : {
+ "bufferView" : "bufferView_0",
+ "byteOffset" : 0,
+ "componentType" : 5123,
+ "count" : 35,
+ "max" : [
+ 35
+ ],
+ "min" : [
+ 0
+ ],
+ "type" : "SCALAR"
+ }
+ },
+ "asset" : {
+ "generator" : "VKTS glTF 2.0 exporter",
+ "version" : "1.0"
+ },
+ "bufferViews" : {
+ "bufferView_0" : {
+ "buffer" : "buffer_0",
+ "byteLength" : 72,
+ "byteOffset" : 0,
+ "target" : 34963
+ },
+ "bufferView_1" : {
+ "buffer" : "buffer_0",
+ "byteLength" : 432,
+ "byteOffset" : 72,
+ "target" : 34962
+ },
+ "bufferView_2" : {
+ "buffer" : "buffer_0",
+ "byteLength" : 432,
+ "byteOffset" : 504,
+ "target" : 34962
+ },
+ "bufferView_3" : {
+ "buffer" : "buffer_0",
+ "byteLength" : 576,
+ "byteOffset" : 936,
+ "target" : 34962
+ },
+ "bufferView_4" : {
+ "buffer" : "buffer_0",
+ "byteLength" : 288,
+ "byteOffset" : 1512,
+ "target" : 34962
+ }
+ },
+ "buffers" : {
+ "buffer_0" : {
+ "byteLength" : 514,
+ "uri" : "Cube.bin"
+ }
+ },
+ "meshes" : {
+ "mesh_0" : {
+ "name" : "Cube",
+ "primitives" : [
+ {
+ "attributes" : {
+ "POSITION" : "accessor_1"
+ },
+ "mode" : 4
+ }
+ ]
+ },
+ "mesh_1" : {
+ "name" : "TruncatedCube",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_6"
+ },
+ "mode" : 4
+ } ]
+ },
+ "mesh_2" : {
+ "name" : "Lines",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_5"
+ },
+ "mode" : 1
+ } ]
+ },
+ "mesh_3" : {
+ "name" : "TruncatedLines",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_6"
+ },
+ "mode" : 1
+ } ]
+ },
+ "mesh_4" : {
+ "name" : "IndexedCube",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_1"
+ },
+ "mode" : 4,
+ "indices" : "accessor_0"
+ } ]
+ },
+ "mesh_5" : {
+ "name" : "TruncatedIndexedCube",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_6"
+ },
+ "mode" : 4,
+ "indices" : "accessor_7"
+ } ]
+ },
+ "mesh_6" : {
+ "name" : "IndexedLines",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_5"
+ },
+ "mode" : 1,
+ "indices" : "accessor_0"
+ } ]
+ },
+ "mesh_7" : {
+ "name" : "TruncatedIndexedLines",
+ "primitives" : [ {
+ "attributes" : {
+ "POSITION" : "accessor_6"
+ },
+ "mode" : 1,
+ "indices" : "accessor_7"
+ } ]
+ }
+ },
+ "nodes" : {
+ "node_0" : {
+ "meshes" : [ "mesh_0" ],
+ "name" : "Cube"
+ },
+ "node_1" : {
+ "meshes" : [ "mesh_1" ],
+ "name" : "TruncatedCube",
+ "translation": [ 2.5, 0.0, 2.5 ]
+ },
+ "node_2" : {
+ "meshes" : [ "mesh_2" ],
+ "name" : "Lines",
+ "translation": [ 2.5, 0.0, 0.0 ]
+ },
+ "node_3" : {
+ "meshes" : [ "mesh_3" ],
+ "name" : "TruncatedLines",
+ "translation": [ 2.5, 0.0, -2.5 ]
+ },
+ "node_4" : {
+ "meshes" : [ "mesh_4" ],
+ "name" : "IndexedCube",
+ "translation": [ -2.5, 0.0, 2.5 ]
+ },
+ "node_5" : {
+ "meshes" : [ "mesh_5" ],
+ "name" : "TruncatedIndexedCube",
+ "translation": [ -2.5, 0.0, 0.0 ]
+ },
+ "node_6" : {
+ "meshes" : [ "mesh_6" ],
+ "name" : "IndexedLines",
+ "translation": [ -2.5, 0.0, -2.5 ]
+ },
+ "node_7" : {
+ "meshes" : [ "mesh_7" ],
+ "name" : "TruncatedIndexedLines",
+ "translation": [ 0.0, 0.0, -2.5 ]
+ }
+ },
+ "scene" : "defaultScene",
+ "scenes" : {
+ "defaultScene" : {
+ "nodes" : [
+ "node_0", "node_1", "node_2", "node_3", "node_4", "node_5", "node_6", "node_7"
+ ]
+ }
+ }
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box.bin b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box.bin
new file mode 100644
index 0000000..29a29e1
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box.bin
Binary files differ
diff --git a/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0FS.glsl b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0FS.glsl
new file mode 100644
index 0000000..6e928dc
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0FS.glsl
@@ -0,0 +1,17 @@
+precision highp float;
+varying vec3 v_normal;
+uniform vec4 u_diffuse;
+uniform vec4 u_specular;
+uniform float u_shininess;
+void main(void) {
+vec3 normal = normalize(v_normal);
+vec4 color = vec4(0., 0., 0., 0.);
+vec4 diffuse = vec4(0., 0., 0., 1.);
+vec4 specular;
+diffuse = u_diffuse;
+specular = u_specular;
+diffuse.xyz *= max(dot(normal,vec3(0.,0.,1.)), 0.);
+color.xyz += diffuse.xyz;
+color = vec4(color.rgb * diffuse.a, diffuse.a);
+gl_FragColor = color;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0VS.glsl b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0VS.glsl
new file mode 100644
index 0000000..9e35922
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/Box0VS.glsl
@@ -0,0 +1,12 @@
+precision highp float;
+attribute vec3 a_position;
+attribute vec3 a_normal;
+varying vec3 v_normal;
+uniform mat3 u_normalMatrix;
+uniform mat4 u_modelViewMatrix;
+uniform mat4 u_projectionMatrix;
+void main(void) {
+vec4 pos = u_modelViewMatrix * vec4(a_position,1.0);
+v_normal = u_normalMatrix * a_normal;
+gl_Position = u_projectionMatrix * pos;
+}
diff --git a/src/mesh/assimp-master/test/models/glTF/TwoBoxes/TwoBoxes.gltf b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/TwoBoxes.gltf
new file mode 100644
index 0000000..a1953e5
--- /dev/null
+++ b/src/mesh/assimp-master/test/models/glTF/TwoBoxes/TwoBoxes.gltf
@@ -0,0 +1,276 @@
+{
+ "accessors": {
+ "accessor_21": {
+ "bufferView": "bufferView_29",
+ "byteOffset": 0,
+ "byteStride": 0,
+ "componentType": 5123,
+ "count": 36,
+ "type": "SCALAR"
+ },
+ "accessor_23": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 0,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 0.5,
+ 0.5,
+ 0.5
+ ],
+ "min": [
+ -0.5,
+ -0.5,
+ -0.5
+ ],
+ "type": "VEC3"
+ },
+ "accessor_25": {
+ "bufferView": "bufferView_30",
+ "byteOffset": 288,
+ "byteStride": 12,
+ "componentType": 5126,
+ "count": 24,
+ "max": [
+ 1,
+ 1,
+ 1
+ ],
+ "min": [
+ -1,
+ -1,
+ -1
+ ],
+ "type": "VEC3"
+ }
+ },
+ "animations": {},
+ "asset": {
+ "generator": "collada2gltf@027f74366341d569dea42e9a68b7104cc3892054",
+ "premultipliedAlpha": true,
+ "profile": {
+ "api": "WebGL",
+ "version": "1.0.2"
+ },
+ "version": "1.0"
+ },
+ "bufferViews": {
+ "bufferView_29": {
+ "buffer": "Box",
+ "byteLength": 72,
+ "byteOffset": 0,
+ "target": 34963
+ },
+ "bufferView_30": {
+ "buffer": "Box",
+ "byteLength": 576,
+ "byteOffset": 72,
+ "target": 34962
+ }
+ },
+ "buffers": {
+ "Box": {
+ "byteLength": 648,
+ "type": "arraybuffer",
+ "uri": "Box.bin"
+ }
+ },
+ "materials": {
+ "Effect-Red": {
+ "name": "Red",
+ "technique": "technique0",
+ "values": {
+ "diffuse": [
+ 0.8,
+ 0,
+ 0,
+ 1
+ ],
+ "shininess": 256,
+ "specular": [
+ 0.2,
+ 0.2,
+ 0.2,
+ 1
+ ]
+ }
+ }
+ },
+ "meshes": {
+ "Geometry-mesh002": {
+ "name": "Mesh",
+ "primitives": [
+ {
+ "attributes": {
+ "NORMAL": "accessor_25",
+ "POSITION": "accessor_23"
+ },
+ "indices": "accessor_21",
+ "material": "Effect-Red",
+ "mode": 4
+ }
+ ]
+ }
+ },
+ "nodes": {
+ "BottomBox": {
+ "children": [],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "meshes": [
+ "Geometry-mesh002"
+ ],
+ "name": "BottomBox"
+ },
+ "TopBox": {
+ "children": [],
+ "matrix": [
+ 0.5,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0.5,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0.5,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1
+ ],
+ "meshes": [
+ "Geometry-mesh002"
+ ],
+ "name": "TopBox"
+ },
+ "node_1": {
+ "children": [
+ "BottomBox",
+ "TopBox"
+ ],
+ "matrix": [
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ -1,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ ],
+ "name": "Y_UP_Transform"
+ }
+ },
+ "programs": {
+ "program_0": {
+ "attributes": [
+ "a_normal",
+ "a_position"
+ ],
+ "fragmentShader": "Box0FS",
+ "vertexShader": "Box0VS"
+ }
+ },
+ "scene": "defaultScene",
+ "scenes": {
+ "defaultScene": {
+ "nodes": [
+ "node_1"
+ ]
+ }
+ },
+ "shaders": {
+ "Box0FS": {
+ "type": 35632,
+ "uri": "Box0FS.glsl"
+ },
+ "Box0VS": {
+ "type": 35633,
+ "uri": "Box0VS.glsl"
+ }
+ },
+ "skins": {},
+ "techniques": {
+ "technique0": {
+ "attributes": {
+ "a_normal": "normal",
+ "a_position": "position"
+ },
+ "parameters": {
+ "diffuse": {
+ "type": 35666
+ },
+ "modelViewMatrix": {
+ "semantic": "MODELVIEW",
+ "type": 35676
+ },
+ "normal": {
+ "semantic": "NORMAL",
+ "type": 35665
+ },
+ "normalMatrix": {
+ "semantic": "MODELVIEWINVERSETRANSPOSE",
+ "type": 35675
+ },
+ "position": {
+ "semantic": "POSITION",
+ "type": 35665
+ },
+ "projectionMatrix": {
+ "semantic": "PROJECTION",
+ "type": 35676
+ },
+ "shininess": {
+ "type": 5126
+ },
+ "specular": {
+ "type": 35666
+ }
+ },
+ "program": "program_0",
+ "states": {
+ "enable": [
+ 2929,
+ 2884
+ ]
+ },
+ "uniforms": {
+ "u_diffuse": "diffuse",
+ "u_modelViewMatrix": "modelViewMatrix",
+ "u_normalMatrix": "normalMatrix",
+ "u_projectionMatrix": "projectionMatrix",
+ "u_shininess": "shininess",
+ "u_specular": "specular"
+ }
+ }
+ }
+} \ No newline at end of file