From ddd99ea33d52c4b20271525562a5221d5e44b085 Mon Sep 17 00:00:00 2001 From: Sean Lilley Date: Mon, 11 Jul 2016 12:27:15 -0400 Subject: [PATCH] Added a unit test --- specs/data/BoxTextured/BoxTextured.gltf | 302 ++++++++++++++++++++++ specs/data/BoxTextured/BoxTextured.mtl | 13 + specs/data/BoxTextured/BoxTextured.obj | 46 ++++ specs/data/BoxTextured/CesiumLogoFlat.png | Bin 0 -> 22051 bytes specs/lib/convertSpec.js | 20 ++ 5 files changed, 381 insertions(+) create mode 100644 specs/data/BoxTextured/BoxTextured.gltf create mode 100644 specs/data/BoxTextured/BoxTextured.mtl create mode 100644 specs/data/BoxTextured/BoxTextured.obj create mode 100644 specs/data/BoxTextured/CesiumLogoFlat.png create mode 100644 specs/lib/convertSpec.js diff --git a/specs/data/BoxTextured/BoxTextured.gltf b/specs/data/BoxTextured/BoxTextured.gltf new file mode 100644 index 0000000..35a71ff --- /dev/null +++ b/specs/data/BoxTextured/BoxTextured.gltf @@ -0,0 +1,302 @@ +{ + "accessors": { + "accessor_index_0": { + "bufferView": "bufferView_1", + "byteOffset": 0, + "byteStride": 0, + "componentType": 5123, + "count": 36, + "type": "SCALAR", + "min": [ + 0 + ], + "max": [ + 23 + ] + }, + "accessor_position": { + "bufferView": "bufferView_0", + "byteOffset": 0, + "byteStride": 0, + "componentType": 5126, + "count": 24, + "min": [ + -1, + -1, + -1 + ], + "max": [ + 1, + 1, + 1 + ], + "type": "VEC3" + }, + "accessor_normal": { + "bufferView": "bufferView_0", + "byteOffset": 288, + "byteStride": 0, + "componentType": 5126, + "count": 24, + "type": "VEC3", + "min": [ + -1, + -1, + -1 + ], + "max": [ + 1, + 1, + 1 + ] + }, + "accessor_uv": { + "bufferView": "bufferView_0", + "byteOffset": 576, + "byteStride": 0, + "componentType": 5126, + "count": 24, + "type": "VEC2", + "min": [ + 0, + 0 + ], + "max": [ + 1, + 1 + ] + } + }, + "asset": { + "generator": "OBJ2GLTF", + "premultipliedAlpha": true, + "profile": { + "api": "WebGL", + "version": "1.0" + }, + "version": "1.0" + }, + "buffers": { + "BoxTextured_buffer": { + "byteLength": 840, + "type": "arraybuffer", + "uri": "data:application/octet-stream;base64,AACAvwAAgD8AAIA/AACAvwAAgD8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIA/AACAvwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgL8AAIC/AACAvwAAgL8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIC/AACAPwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIA/AACAPwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIA/AACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAgD8AAIA/AACAPwAAgD8AAAAAAAAAAAAAAAAAAAAAAACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAABAAIAAAACAAMABAAFAAYABAAGAAcACAAJAAoACAAKAAsADAANAA4ADAAOAA8AEAARABIAEAASABMAFAAVABYAFAAWABcA" + } + }, + "bufferViews": { + "bufferView_0": { + "buffer": "BoxTextured_buffer", + "byteLength": 768, + "byteOffset": 0, + "target": 34962 + }, + "bufferView_1": { + "buffer": "BoxTextured_buffer", + "byteLength": 72, + "byteOffset": 768, + "target": 34963 + } + }, + "images": { + "CesiumLogoFlat": { + "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": { + "material_Textured": { + "name": "Textured", + "extensions": {}, + "values": { + "ambient": [ + 1, + 1, + 1, + 1 + ], + "diffuse": "texture_CesiumLogoFlat", + "emission": [ + 0, + 0, + 0, + 1 + ], + "specular": [ + 0.5, + 0.5, + 0.5, + 1 + ], + "shininess": 96.078431, + "transparency": 1 + }, + "technique": "technique0" + } + }, + "meshes": { + "mesh_BoxTextured": { + "name": "BoxTextured", + "primitives": [ + { + "attributes": { + "POSITION": "accessor_position", + "NORMAL": "accessor_normal", + "TEXCOORD_0": "accessor_uv" + }, + "indices": "accessor_index_0", + "material": "material_Textured", + "mode": 4 + } + ] + } + }, + "nodes": { + "node_BoxTextured": { + "children": [], + "matrix": [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1 + ], + "meshes": [ + "mesh_BoxTextured" + ], + "name": "BoxTextured" + } + }, + "samplers": { + "sampler_0": { + "magFilter": 9729, + "minFilter": 9986, + "wrapS": 10497, + "wrapT": 10497 + } + }, + "scene": "scene_BoxTextured", + "scenes": { + "scene_BoxTextured": { + "nodes": [ + "node_BoxTextured" + ] + } + }, + "textures": { + "texture_CesiumLogoFlat": { + "format": 6407, + "internalFormat": 6407, + "sampler": "sampler_0", + "source": "CesiumLogoFlat", + "target": 3553, + "type": 5121 + } + }, + "extensionsUsed": [], + "animations": {}, + "cameras": {}, + "extensions": {}, + "techniques": { + "technique0": { + "attributes": { + "a_position": "position", + "a_normal": "normal", + "a_texcoord_0": "texcoord_0" + }, + "parameters": { + "modelViewMatrix": { + "semantic": "MODELVIEW", + "type": 35676 + }, + "projectionMatrix": { + "semantic": "PROJECTION", + "type": 35676 + }, + "normalMatrix": { + "semantic": "MODELVIEWINVERSETRANSPOSE", + "type": 35675 + }, + "ambient": { + "type": 35666 + }, + "diffuse": { + "type": 35678 + }, + "emission": { + "type": 35666 + }, + "specular": { + "type": 35666 + }, + "shininess": { + "type": 5126 + }, + "transparency": { + "type": 5126 + }, + "position": { + "semantic": "POSITION", + "type": 35665 + }, + "normal": { + "semantic": "NORMAL", + "type": 35665 + }, + "texcoord_0": { + "semantic": "TEXCOORD_0", + "type": 35664 + } + }, + "program": "program0", + "states": { + "enable": [ + 2884, + 2929 + ] + }, + "uniforms": { + "u_modelViewMatrix": "modelViewMatrix", + "u_projectionMatrix": "projectionMatrix", + "u_normalMatrix": "normalMatrix", + "u_ambient": "ambient", + "u_diffuse": "diffuse", + "u_emission": "emission", + "u_specular": "specular", + "u_shininess": "shininess", + "u_transparency": "transparency" + } + } + }, + "programs": { + "program0": { + "attributes": [ + "a_position", + "a_normal", + "a_texcoord_0" + ], + "fragmentShader": "fragmentShader0", + "vertexShader": "vertexShader0" + } + }, + "shaders": { + "vertexShader0": { + "type": 35633, + "uri": "data:text/plain;base64,cHJlY2lzaW9uIGhpZ2hwIGZsb2F0Owp1bmlmb3JtIG1hdDQgdV9tb2RlbFZpZXdNYXRyaXg7CnVuaWZvcm0gbWF0NCB1X3Byb2plY3Rpb25NYXRyaXg7CnVuaWZvcm0gbWF0MyB1X25vcm1hbE1hdHJpeDsKYXR0cmlidXRlIHZlYzMgYV9wb3NpdGlvbjsKdmFyeWluZyB2ZWMzIHZfcG9zaXRpb25FQzsKYXR0cmlidXRlIHZlYzMgYV9ub3JtYWw7CnZhcnlpbmcgdmVjMyB2X25vcm1hbDsKYXR0cmlidXRlIHZlYzIgYV90ZXhjb29yZF8wOwp2YXJ5aW5nIHZlYzIgdl90ZXhjb29yZF8wOwp2b2lkIG1haW4odm9pZCkgewogIHZlYzQgcG9zID0gdV9tb2RlbFZpZXdNYXRyaXggKiB2ZWM0KGFfcG9zaXRpb24sMS4wKTsKICB2X3Bvc2l0aW9uRUMgPSBwb3MueHl6OwogIGdsX1Bvc2l0aW9uID0gdV9wcm9qZWN0aW9uTWF0cml4ICogcG9zOwogIHZfbm9ybWFsID0gdV9ub3JtYWxNYXRyaXggKiBhX25vcm1hbDsKICB2X3RleGNvb3JkXzAgPSBhX3RleGNvb3JkXzA7Cn0K" + }, + "fragmentShader0": { + "type": 35632, + "uri": "data:text/plain;base64,cHJlY2lzaW9uIGhpZ2hwIGZsb2F0Owp1bmlmb3JtIHZlYzQgdV9hbWJpZW50Owp1bmlmb3JtIHNhbXBsZXIyRCB1X2RpZmZ1c2U7CnVuaWZvcm0gdmVjNCB1X2VtaXNzaW9uOwp1bmlmb3JtIHZlYzQgdV9zcGVjdWxhcjsKdW5pZm9ybSBmbG9hdCB1X3NoaW5pbmVzczsKdW5pZm9ybSBmbG9hdCB1X3RyYW5zcGFyZW5jeTsKdmFyeWluZyB2ZWMzIHZfcG9zaXRpb25FQzsKdmFyeWluZyB2ZWMzIHZfbm9ybWFsOwp2YXJ5aW5nIHZlYzIgdl90ZXhjb29yZF8wOwp2b2lkIG1haW4odm9pZCkgewogIHZlYzMgbm9ybWFsID0gbm9ybWFsaXplKHZfbm9ybWFsKTsKICB2ZWM0IGRpZmZ1c2UgPSB0ZXh0dXJlMkQodV9kaWZmdXNlLCB2X3RleGNvb3JkXzApOwogIHZlYzMgZGlmZnVzZUxpZ2h0ID0gdmVjMygwLjAsIDAuMCwgMC4wKTsKICB2ZWMzIHNwZWN1bGFyID0gdV9zcGVjdWxhci5yZ2I7CiAgdmVjMyBzcGVjdWxhckxpZ2h0ID0gdmVjMygwLjAsIDAuMCwgMC4wKTsKICB2ZWMzIGVtaXNzaW9uID0gdV9lbWlzc2lvbi5yZ2I7CiAgdmVjMyBhbWJpZW50ID0gdV9hbWJpZW50LnJnYjsKICB2ZWMzIHZpZXdEaXIgPSAtbm9ybWFsaXplKHZfcG9zaXRpb25FQyk7CiAgdmVjMyBhbWJpZW50TGlnaHQgPSB2ZWMzKDAuMCwgMC4wLCAwLjApOwogIGFtYmllbnRMaWdodCArPSB2ZWMzKDAuMiwgMC4yLCAwLjIpOwogIHZlYzMgbCA9IHZlYzMoMC4wLCAwLjAsIDEuMCk7CiAgZGlmZnVzZUxpZ2h0ICs9IHZlYzMoMS4wLCAxLjAsIDEuMCkgKiBtYXgoZG90KG5vcm1hbCxsKSwgMC4pOwogIHZlYzMgaCA9IG5vcm1hbGl6ZShsICsgdmlld0Rpcik7CiAgZmxvYXQgc3BlY3VsYXJJbnRlbnNpdHkgPSBtYXgoMC4sIHBvdyhtYXgoZG90KG5vcm1hbCwgaCksIDAuKSwgdV9zaGluaW5lc3MpKTsKICBzcGVjdWxhckxpZ2h0ICs9IHZlYzMoMS4wLCAxLjAsIDEuMCkgKiBzcGVjdWxhckludGVuc2l0eTsKICB2ZWMzIGNvbG9yID0gdmVjMygwLjAsIDAuMCwgMC4wKTsKICBjb2xvciArPSBkaWZmdXNlLnJnYiAqIGRpZmZ1c2VMaWdodDsKICBjb2xvciArPSBzcGVjdWxhciAqIHNwZWN1bGFyTGlnaHQ7CiAgY29sb3IgKz0gZW1pc3Npb247CiAgY29sb3IgKz0gYW1iaWVudCAqIGFtYmllbnRMaWdodDsKICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvbG9yICogZGlmZnVzZS5hLCBkaWZmdXNlLmEgKiB1X3RyYW5zcGFyZW5jeSk7Cn0K" + } + }, + "skins": {} +} \ No newline at end of file diff --git a/specs/data/BoxTextured/BoxTextured.mtl b/specs/data/BoxTextured/BoxTextured.mtl new file mode 100644 index 0000000..eeff817 --- /dev/null +++ b/specs/data/BoxTextured/BoxTextured.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'BoxTextured.blend' +# Material Count: 1 + +newmtl Textured +Ns 96.078431 +Ka 1.000000 1.000000 1.000000 +Kd 0.640000 0.640000 0.640000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.000000 +d 1.000000 +illum 2 +map_Kd CesiumLogoFlat.png diff --git a/specs/data/BoxTextured/BoxTextured.obj b/specs/data/BoxTextured/BoxTextured.obj new file mode 100644 index 0000000..64da02d --- /dev/null +++ b/specs/data/BoxTextured/BoxTextured.obj @@ -0,0 +1,46 @@ +# Blender v2.77 (sub 0) OBJ File: 'BoxTextured.blend' +# www.blender.org +mtllib BoxTextured.mtl +o Cube_Cube.001 +v -1.000000 -1.000000 1.000000 +v -1.000000 1.000000 1.000000 +v -1.000000 -1.000000 -1.000000 +v -1.000000 1.000000 -1.000000 +v 1.000000 -1.000000 1.000000 +v 1.000000 1.000000 1.000000 +v 1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 -1.000000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vt 0.0000 0.0000 +vt 1.0000 0.0000 +vt 1.0000 1.0000 +vt 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl Textured +s off +f 2/1/1 4/2/1 3/3/1 1/4/1 +f 4/5/2 8/6/2 7/7/2 3/8/2 +f 8/9/3 6/10/3 5/11/3 7/12/3 +f 6/13/4 2/14/4 1/15/4 5/16/4 +f 1/17/5 3/18/5 7/7/5 5/16/5 +f 6/13/6 8/6/6 4/19/6 2/20/6 diff --git a/specs/data/BoxTextured/CesiumLogoFlat.png b/specs/data/BoxTextured/CesiumLogoFlat.png new file mode 100644 index 0000000000000000000000000000000000000000..88bada374836fcecc80ef666ab093f61a42e7e0e GIT binary patch literal 22051 zcmeI3cT|&0*SBv(lqyZ77m?mV2Sbypfb`yLfKU=T1nDBZh&1Wa5s)HPiXb3e5vkHU zC{2SXP57dol5?JO9^Us`@1JC?ke!*|-ZS^L_sl&cE8%J?w+L`4aRC4zP`E9tfqEVK z@x(rd`kMf$j6uENINjEF1pqwKA5RP*HJuy)M3|vkdTx5kcfgi#M{aW~xCMmU%h3s? z1^_WhFDG+Ldx#so1;hpl6KB|NY+;~>T8T603M%s`JIO$7p|`zVAe!DPT9)4SmN%>z zBqeagyuhdcju1C# zEyQKX!z(~9e1n@;P)PWOFeg19>OF`@1jNU~#d8BJ$Peb>qyO!}Ac2dr#9XYb!5Xsi zzYT|aC(dB&=H>(jfjm7uxjp&0;Vw2H-WxY=fOz;oe0*Fe1(z!V=4S521#`XrE6DG0 zWFfAWE>I^oC>%!rBd)mx+}%x_f#JtMe>{G>E=Q+727QRu3ho6gwPm4zcEFcUP6yV|!1oQBq1^K1?TMT8m71SE>4>1IJ z!Ge6~G0>EMkAYf0R_1Qz|D!1ATC_M;mSAhRi=(-l1k};o1_E+|*@%JuY(!K3QB`0W zxC7h;H7$q)zZmGBn$f&|RvK6V=IUk+vxF$fN}w9Jp-?NZwYj-4#9Y{tOV}C$;o^e` z2y>b93PHGdAeMr{LgqL4t*wQALR3~pcmI#jvT#fHAFJiJ&{qG;&}i=e5n9y+irVSS z9ndsCX8*q(;vd5N$56MSuBiG%pw%s^dVlU^nh@u|w*KDX0R6cqIhnh-LVm0`afaWQ z+#j3RAA8gfpPwriY;O5uHos76SWk z3+h*>pQ?Wk;tIER^E7vXNZFuj;(xN%e?|SP+uy^Bfqv}%4$!|Q;#ccm^YeSf{%1bL zer#%BR4t(9W&SeIUwXYCIdyRVsTbzsK|MgcKmPvair)QqSN;F)ir)Qq z*FQbAVNf>-zTZasTQi#1kDd3|wxEeRBtRsD1O@p8#Xx^={=0`7)C=OECksWbU)LX1 z$;XRg^3&<>J^$#b|F52CJ->PWN*3A;{bw$JwW5v-sFMolkE6<8)BML$_&+xOyrlo* z!06%520^EBs(ps*R7B{4GhFC2PPNZ)or(xuaE1$=#;Nuhu2T`A3(jz%(>T>W!*wbm zbio-ebQ-7HXShy9gf2M4g-+vC`wZ8qh|mRRxX@{wYMP|$Q|&Wcry@cZ zoZ&*JajJcW>r_POf-_v`G)}e8aGi<>U2ujAoyMv58Lm?ip$pD%q0>0kKErh?B6PtS zE_52F+Gn^ul{z|*0$Jc?*`5@{@j+w{Y0*TyffbiRyqo^o=ylkP>DCgSY< z*}AbgZOPfpvWu##RAw~$ebC!GvX#&r3JmFjqQ^7x5bx)Xk`>n9oTIGYWQe+MN4?q3 z6Ks1Z0`hTN_TAq=;7PcHcv9Jw z4ZF@_VxGJv#?HO~TG0FDS8(vY>Vcw8S+59YIzLc`N`XrJo*QXg?&7oRD1AZgR7|A< zcf(u2`lkmODm-iRiFA(ncHsiRgIMFzK59xg^ZfO7<}E>p-Dkg%!7;U89x;v6jUN^~=4$J0AGShK5J zoAV1$Yh?0WCru<}#^aa(x*4)n_sGAh;Jp6s-_M@I zPSY=NpOu;o^uljz;=HppIo-~V8E$Uj=LUR-0$$mL+lb0BqsB;EN@i-!fq`k9d$^{L z!mm(BhYRAx-|nUQV%`;6WJ30C%H{!-p3KI@LohOdg$Z^+fI#!l^3(QiJHR=S!9F+e zh$n=ft$HCn>zPj`(3i(xQyZqsXgvywNcB*EfDEFx-6(`dWfyTXFQxP} zR!M_3*d(F(QU25z4u%&W8sk5|@e=09aw~{YW9GzpTEW5by1eggkIGk9=IUkuN7^eI zv_$8fT*4+iNqMMoHx@AZaPCgLFHo=HNlffQ&V85o*iTQ{-kDZlVyzm>-r93x;lb0f zZn`(qrzA}*eMXcK)iz`HsBEcc#7+-NHIQ2rv%(p|HrMhx zzu)#i^3Si<){!paryTXVp0A*x$>RtJsZ@MPvs63VN_~wlB~h59)zgFM1mt;Mns|@g zZ<4@)=O$Ajk{aXfTZJi=;CpJ9uO-dCXZ~{d#7c8UmT2Q+UQ_oZ8+i!nj6K;xZ8tID z@^k6A>9lI99&X}}Z!jt$+T=l4elTcXfQ2b3BY6l6P z>VwHK<x$8pvf*1QFBNxa*L`elotpuY)Yd& z(vo~=Y~kubKm0+H=^>IiXznIi4D;5*0AHH)_-qmx1U})VFB%wEaX=JiBIc^XZ#wDY zs=oA!3f(5~R+CHN-6bBNys21h>JTMQ-Up7Q4D`{JQ6eD;Js}n z)f1zt-aKX=d=X5eS=pj7iidTIw;Jk8N!p~HBQ!JV13LYB2Ohs~WChdX8$KvE1-ILd z_=Ah+b}H$r8)Mw-m%$ZnpWCt}yxmQJ`0lFP9y7I&bcYT385J=h@!ftg!v^zbflEcn z-;IYVqK>!Ad>W?Kbk)*Vty?So@SofgK(G~WbH09LA|HOPD=}3`|k45$?CX#u>u7L-{#Ho#>Kr>r?zWWy0uqjj7x<-N(dVa z8j)W&mKq+2CK&KfOVUIYn}-Jw&cfciY2b{dv`I-(;_J+FdD*$9 zD8bY2k%d}Lqity{M&$TEV8vfHOz>7U`f7L%wbg zg}J9{MYCTbey^yg^fga1Cclu_vig25Ckucyc#j?48d?{9J(P@#6XX@d@VfhR(8g-< zh3TlZr@0J?p5DQ-4ROKi*D;*2CaEz@9<+?zcu&|dA{~Xi;IpUfR(6Yl`^$dE6^E;a zY6jF2wJeV#;*qJh;@ab3-Z`_A7h5pR`n!bO5tos;g%=kWc2MO6j`+lwo=MdDHPVv0 ze<=ZItzA*q;oZ^q<*t>y{mKZD%xsGh4Q0xoCLTvXIgta~jx;TNYr4Z6MnT&b<`c-w zFeWx=@lYjjvc7S9+&HU=-oc*M_oP@8y4$jXjSvy}{L=TJAN_AkWnIX zfYh&SfTBTQj>?5!vCLmviQ3d#d^C#@)w}Ty(8!I zV|U8HY>apvjMXtR-E8k-pNZ8A#W09<LDB_UhwAIRw%dQe%+w2|eCo~Kb;l;nHZo~gtv;ed zPvsMDlW6y@Xo`tV(E!E5Ti8cdo}w@#ybQ;Jr(i{yc}iR|0NeSfJ{I#4*(a0mgwewe>2cwcvQt=QFV(eG{N0%zf&x7&a6*Ry7Fod-yq>@m5fYE?HDfI0DD^s$+1nTneFnyk}&P% zqzULjw`$av-CeA6fwsOT<*{1U7JTQrbdpk&uTr)jx_XPR`$!QHF@)=KDuIRIdc z5!Xm;s09<~cmO~R*k_z{B|8Z4HjXeXc`YWFSR#2uuGHgdqsbx8;?=8@*&1^<11;xX_9iq&-qE~KaTgXR4w5?} zq-w9IfPtcrA(*`e4c)v$vwDxp@-6(@_K#iqj5RfUC~;>ix-%Ukgd7#Cd#OHguy*qo zhuf^Y7tl(-G&*YvBaT~U%YMoG$t`09mSCo-ff9XY&o9Zx-YD4>s$%w&Ajg~wr?ihr z$prTr8pmmH4gyN~8sWOMpa65pa_U@JQbgE2=8D4gg;mIMKKNFhUPJa3DWdaIVOleK zM4x)~^o!pNa&-%LBS)Tqk)NMK6|ykF(>KM%ZY_xA2`EQu&3HYyqmz46J?@FI!K3~i zPJuviV;k)_lE$w+qEiaKCfK?`>Y2sSy{yNNZM<@9+V~k{D@k1aQ-z1Wc2iK@HG@2B-ze>_O1hb+TF^OKN3iiG4T&N57N38agh}*RLy<4XG{wk)tZr3#U>9}uxQnx1tdwS?jG3uMtGca11cnGY^N_6i!@=Zgc4`*_IgNcM)$J2z}Jr;%H2_ zzj`ueLhe;O%5G`r@I>zcoXGiF+t=I{@XR}+{Z-5;JOhN^{<)@oLO;R;~ItKTPLnVRBCc!QY_WTAhB!7>a?Z7 zLcJ*^+jL?ravfs?G1ES-C#vR3iQ@u&O8q$OqJsA&wQch0uTwaOAn$ju5-MHJ#gF!E zd49r@)AHrZ$oFWv@5Hsk5hSjaT-PvP+*-+-pa*T>RR$_Ingnd3{=3KoeA3CRDua1& z+b;+U`Sg*w-P&pP7yDA4aZlF_^94)s)5=L^^6OVsg|#3up`M16C(rHIEQw876cOi= zMC75-$P)dS_u~~W$pZT3tWbN*s2(ZnTp#a{KPKHwM*XwH+dD#)Ap}w!v5TawtSpA# zs9`hg3Rv>Y-m~N1u8&`-MQt#6{G`|ChSc_k+=a&X2agB8)?I31JW!H}qBB5-Hffk{2?IRQT;L(|qFM63}VgF85pi-m>mmEw|H5 z-FK4%1Y5UOvL=^v0MGh-T5Y~A%vg@!$D8KSJoj1kX5zb&Fc$l#B$+JmGovuyKEruc5%0m<+4XNT$mX@#2gPOr`K+Nb|)Mo zE2cB6xTZ~>4;6g|cGR`jlCg@gU5@kW7hZ+FqJ-?c%<8JPAe)HUviByf9e&0Tzh?i? zlB}onX>FTHHWl{%k89!$T;m9s)tB=;x)_L4DXeIKo2MQWXbUvljHJXK&k>v7om zSTTHOfj5U<+1HfKjnTCpvEDN(?p#F6t@Mb6n;rbFX|p47+S&fO^S8J5{>L+nhewQ2 zMoe9g88VCSXD)A1+D*UP8z9kKA_=Z&YaGB6sXw&;z$AyL2h;7=*;R$z2p}D&b zFoRT;+5k8rTwhkcRQTJ8m2H#Zf>d7b`KMxB6!FXa&iu#lt&jCWf*`M6qg*0LU%Et>#Fk0@d&+T*Bl)a$4_W|#E6B7GFA`2|B>T|AS=8Fc?&NqD@ z+>flkdBSMQBdDD@2Gvn_P1C^Hj<>u{`x)(^t{e%23Hlaf$L7WwbrZ5n=7jxj>&%4v z!L((XnG#nj>=9neA#>^{l@1kOcxz4Nydfu9{Q8jqgHLAW!*N#ACxJ7sSMcgl2@H!< zH+%2b`LA3%ck#U(P}3v5$Tvp#Cm)aY97L*oc7~we9_U0b^HBUbnWE?>0jIZi`O%ES|&A zx4oDExh-^qX=}JGkUwp}6nX6UnWVhXjBWZ{Bu8VhW*G zuakOcKZQSX&cksqcC3D4&cR=!WPOw6?X){`Hz|!}(UQ7^Ev-XaomKUscsEh9w%!zO z;6|7sq>`fOR!PT2A06>sa-VmfID}ONsZW%rIOFX(@c6fhJLTC$(jxluxMA8_*TM|- z%X&w{8!d0k%$q(9eZgwp#*duHGL2I8@{ANSglhHj$EPzd_(`R!cWjZCa%oo*QJ1YB@+qS*sjWq5fcXt;g{WU*c)jru zW6aa?I=N@sNz4^ps|DfRNH&;^f5PQ)jtZxDxaCc_c#V0jB0WteQpE=s`}pKG1d?8{ zR?18%5EI;&M4cK(IQtk`M){(@L@M#y&FlKTqOpj`Z0rB{sigtiTXsb$Kji)pK`2}V zM7Sp|wdL{6z(IRpKv>JlPVSCyA0*+COCG{d0k(Pc?(ngqIl##wFtW6!>eiq-{Uz$~ zy=sGHX?L-Sz_eOs_La(Vlc|@=3Xd{{3~`q+=63csn1^z;p+NxiQ7KD@rik@Od=6n! zuWf?f&S+rPa(=RPfl4TstrqFGHv+SwLmRkGZ-841dZ{saIeM#Cob`-JG@>Y&qs4t5 zQDq}x7oT6{O0g{1lxI)f>35-Ex+I%L*;d5t((e`$7a{MlK;m{=THnK07PB<0&8Efw z;V>tTRl*)oXg?@^(dlbTK=Heb$ljO4UyC9Qn0;q>qGY z0!%<5k%caOt?5afP%g3mcGivF+ zk31P|He=^qq4n8qUd`>{$EUj4;`@mX;$zy}`4Gw;r-uN5I>Vz3QqkD&lwTKemL4~s zEN~cR#ULAEupxDo=J%TVW^3d)D#ET{Ws9}U4)DA^T*RVpa$QOcA#K6XOk8iKYd$J; zuXvuEE#kWS-L&OfdNuU1tXf0%w+!tg!`&l z1`8XYe)FQ`q&*jP zBB~3<3&|}D)U7R>bw>&^^=oJk>@f_lvNS3m^DC&Tj;-&S8&8kswurbm-+jo{r?^PP z$B|`l{I2@TJ6qbe&r^r1Gk)89@;&hL#Gxvde)D+nI1w6|L%GhIo$!dZ(NMuUEdi>xKCP!CZYV*_O#vUo-Zbjc~9e+mz9YxNhF0CaGf~$RGOn(ZozndUx_|hI zvO!Itxy(#J-y+>MmE$&T!^Dg~uSDS$xr&O7z(&O}nRV?B;eDT(G0Ln+<99VrE`XeV z90x(;+SueFV|Ps1R=zQ_-?^5o?SsX30Rt#vGl6Lob}1l$fQ2sz3by_3E!(2%qP;!_ zOZ>`goa23c`?wETOPmOmknfaiCdlOWiEy5^jH#F=TK7tC^2)XHT0nMp22Eu+0+HBJ2KwI#h8Z=3 z^REyV+PN~SRWR11Bx&4eG-I<%%-Z2MnX&Nnj4V%?9x4wT zD99+!BO^*74<)b0${BM!+cwZ^z^&1D3HIb*&y0Q*|CxMbZzq2px2jmJk4b$?4o^3mPP-~&E&^(W#|gv|bq%2cN87rXAY{i5+j>@b8o<`Ise>YkXfVrNv5lGd6Exo8m?uCtOt2 z=6>osxahH>wCQrj`QhX#Pt|??XLsrsT$)|Oedi|zzSDq9ILOFbx1Q>^8cj!I;q{_hS5Jz#w=pRA??(1euyaXt?r(k2ow$%1N562-Bn`Q@ zkoBJ6KA))Z`^1aD9M)I0^=;MaE$L@r2uaJVnu6nt2ECmAp5^D4rx!Hfi)BMpH!|f8 z!ie$u==6kk*zj2`Fhhe9E&}9kHJc6x--vApHNvZHwGJ+R6u$g^g~K*1mvtEfAm?`a zvM8CpSC7#n$Bw&kg>bmJs8BOeuwEw>33GNWMXWyY_dM*3gXILahTmNg(--}Yf%RsR zLkqPHOD@jbotHFdh`ELletk>_nV(AVWWordqx!tJ@zrj20cxY&`VvLYBzH-o=OS+Qp(o;vdGIpIts_(K%$Lk5IiY@!*NN#;>t?cYG>@>pE)O2N6tg81>Rz6lt zeamd|om3l9w>$REbIEJ{jk(RY;lXsNw1%P$IJ@hX4sk<=Z)Atg4A=R{@5>*_bMNe<6JHQ!%bmWvc!tAD$D{KWq55r!@wP7L!%6<(6gG8gKT_uHwO z=N0ms40((yESENxGcD;ng_#cCB#Rm9yU!!rz95P_@K*|wkTB9EADZ@6Zg-mI(YxH0 zmwc8c6xnx@uG$Q*f2g){%&^j#aXc4w*xCL3Yv9h<;lN?S1hHmbF^{W?v$gUIN7#l- z=(Xh@fvXrtMRkRf&iTHda@R4*$eHQkzS!yM)*Knu9BHtUeu2b}O&>{(%ycI)(Ty!9 zFYl1_jOLhi-&{w0s;KABd8h1pdsVplZ?pBQuvJnZ7yaK}VN-S9dV7VO*26uzzQOoK z9L{Wau#H#0IJw2EL%Dcv!Pk#6EGp96KU~e2w(jS*=UYgTI>!bwe|pbc>dors*aMj| zVEqb!T`8esM$X*oaxKXc00i=1@=|wUrw$jfMknzVL+_=&E4e+Luxk@{lY#Wk3N}_? zryyH{!(*Aw2jtW#z+b-G{PATc8(|>P%M*M+qA0D_knptx>bpWfK~6=sOxi5y{{dz< BWBULA literal 0 HcmV?d00001 diff --git a/specs/lib/convertSpec.js b/specs/lib/convertSpec.js new file mode 100644 index 0000000..71d9471 --- /dev/null +++ b/specs/lib/convertSpec.js @@ -0,0 +1,20 @@ +'use strict'; +var fs = require('fs'); +var path = require('path'); +var convert = require('../../lib/convert'); + +var objFile = './specs/data/BoxTextured/BoxTextured.obj'; +var gltfFile = './specs/data/BoxTextured/BoxTextured.gltf'; + +describe('convert', function() { + it('converts an obj to gltf', function(done) { + var spy = spyOn(fs, 'writeFile').and.callFake(function(file, data, callback) { + callback(); + }); + + convert(objFile, gltfFile, {}, function() { + expect(path.normalize(spy.calls.first().args[0])).toEqual(path.normalize(gltfFile)); + done(); + }); + }); +});