update README

This commit is contained in:
Nick Fisher
2022-07-27 21:05:48 +10:00
parent ce177e7fbd
commit 757dcc6459
42 changed files with 29 additions and 55244 deletions

View File

@@ -39,4 +39,6 @@ and theme must have the following in `styles.xml`
</style>
```
Remember to set the background colour for your Scaffold to transparent!

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 856 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 KiB

After

Width:  |  Height:  |  Size: 131 B

View File

@@ -1,755 +1,3 @@
{
"accessors": [
{
"componentType": 5123,
"count": 24408,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 8468,
"type": "VEC3",
"max": [
0.131662,
0.137638986,
0.10078799
],
"min": [
-0.131333,
-0.028128,
-0.137763992
]
},
{
"componentType": 5123,
"count": 65688,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 12552,
"type": "VEC3",
"max": [
0.11722149,
0.196387976,
0.132422984
],
"min": [
-0.11722149,
-0.196387976,
-0.132422984
]
},
{
"componentType": 5123,
"count": 2208,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 436,
"type": "VEC3",
"max": [
0.09527509,
0.114654,
-0.08429489
],
"min": [
-0.0952748954,
0.0551489964,
-0.14295499
]
},
{
"componentType": 5123,
"count": 60288,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 17186,
"type": "VEC3",
"max": [
0.1572095,
0.2716865,
0.162181988
],
"min": [
-0.1572095,
-0.2716865,
-0.162181988
]
},
{
"componentType": 5123,
"count": 131574,
"type": "SCALAR"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC2"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC3"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC4"
},
{
"componentType": 5126,
"count": 24148,
"type": "VEC3",
"max": [
0.1504075,
0.328366965,
0.173673
],
"min": [
-0.1504075,
-0.328366965,
-0.173673
]
}
],
"asset": {
"generator": "glTF Tools for Unity",
"version": "2.0"
},
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 59806
},
{
"buffer": 0,
"byteOffset": 59808,
"byteLength": 99674
},
{
"buffer": 0,
"byteOffset": 159484,
"byteLength": 4875
},
{
"buffer": 0,
"byteOffset": 164360,
"byteLength": 133545
},
{
"buffer": 0,
"byteOffset": 297908,
"byteLength": 203914
}
],
"buffers": [
{
"name": "FlightHelmet",
"byteLength": 501824,
"uri": "FlightHelmet.bin"
}
],
"images": [
{
"name": "FlightHelmet_baseColor",
"uri": "FlightHelmet_baseColor.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic",
"uri": "FlightHelmet_occlusionRoughnessMetallic.png"
},
{
"name": "FlightHelmet_normal",
"uri": "FlightHelmet_normal.png"
},
{
"name": "FlightHelmet_baseColor1",
"uri": "FlightHelmet_baseColor1.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic1",
"uri": "FlightHelmet_occlusionRoughnessMetallic1.png"
},
{
"name": "FlightHelmet_normal1",
"uri": "FlightHelmet_normal1.png"
},
{
"name": "FlightHelmet_baseColor2",
"uri": "FlightHelmet_baseColor2.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic2",
"uri": "FlightHelmet_occlusionRoughnessMetallic2.png"
},
{
"name": "FlightHelmet_normal2",
"uri": "FlightHelmet_normal2.png"
},
{
"name": "FlightHelmet_baseColor3",
"uri": "FlightHelmet_baseColor3.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic3",
"uri": "FlightHelmet_occlusionRoughnessMetallic3.png"
},
{
"name": "FlightHelmet_normal3",
"uri": "FlightHelmet_normal3.png"
},
{
"name": "FlightHelmet_baseColor4",
"uri": "FlightHelmet_baseColor4.png"
},
{
"name": "FlightHelmet_occlusionRoughnessMetallic4",
"uri": "FlightHelmet_occlusionRoughnessMetallic4.png"
},
{
"name": "FlightHelmet_normal4",
"uri": "FlightHelmet_normal4.png"
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 1,
"NORMAL": 2,
"TANGENT": 3,
"POSITION": 4
},
"indices": 0,
"material": 0,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 0,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "GlassPlastic_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 6,
"NORMAL": 7,
"TANGENT": 8,
"POSITION": 9
},
"indices": 5,
"material": 1,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 1,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "LeatherParts_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 11,
"NORMAL": 12,
"TANGENT": 13,
"POSITION": 14
},
"indices": 10,
"material": 2,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 2,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "Lenses_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 16,
"NORMAL": 17,
"TANGENT": 18,
"POSITION": 19
},
"indices": 15,
"material": 3,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 3,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "MetalParts_low"
},
{
"primitives": [
{
"attributes": {
"TEXCOORD_0": 21,
"NORMAL": 22,
"TANGENT": 23,
"POSITION": 24
},
"indices": 20,
"material": 4,
"mode": 4,
"extensions": {
"KHR_draco_mesh_compression": {
"bufferView": 4,
"attributes": {
"TEXCOORD_0": 0,
"NORMAL": 1,
"TANGENT": 2,
"POSITION": 3
}
}
}
}
],
"name": "RubberWood_low"
}
],
"materials": [
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 1,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 2,
"texCoord": 0
},
"occlusionTexture": {
"index": 1,
"texCoord": 0
},
"name": "GlassPlasticMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
},
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 3,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 4,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 5,
"texCoord": 0
},
"occlusionTexture": {
"index": 4,
"texCoord": 0
},
"name": "LeatherPartsMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
},
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 6,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 7,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 8,
"texCoord": 0
},
"occlusionTexture": {
"index": 7,
"texCoord": 0
},
"alphaMode": "BLEND",
"name": "LensesMat",
"emissiveFactor": [
0,
0,
0
],
"doubleSided": false
},
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 9,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 10,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 11,
"texCoord": 0
},
"occlusionTexture": {
"index": 10,
"texCoord": 0
},
"name": "MetalPartsMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE",
"doubleSided": false
},
{
"doubleSided": true,
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 12,
"texCoord": 0
},
"metallicRoughnessTexture": {
"index": 13,
"texCoord": 0
},
"baseColorFactor": [
1,
1,
1,
1
],
"metallicFactor": 1,
"roughnessFactor": 1
},
"normalTexture": {
"index": 14,
"texCoord": 0
},
"occlusionTexture": {
"index": 13,
"texCoord": 0
},
"name": "RubberWoodMat",
"emissiveFactor": [
0,
0,
0
],
"alphaMode": "OPAQUE"
}
],
"nodes": [
{
"mesh": 0,
"name": "GlassPlastic_low"
},
{
"mesh": 1,
"translation": [
0.000434499962,
0.032592997,
0.011676996
],
"name": "LeatherParts_low",
"rotation": [
0,
0,
0,
1
],
"scale": [
1,
1,
1
]
},
{
"mesh": 2,
"name": "Lenses_low"
},
{
"mesh": 3,
"translation": [
0.0331545,
-0.1488645,
-0.0242879968
],
"name": "MetalParts_low",
"rotation": [
0,
0,
0,
1
],
"scale": [
1,
1,
1
]
},
{
"mesh": 4,
"translation": [
-0.00190849893,
-0.111985,
-0.013313001
],
"name": "RubberWood_low",
"rotation": [
0,
0,
0,
1
],
"scale": [
1,
1,
1
]
},
{
"children": [
0,
1,
2,
3,
4
],
"rotation": [
0,
1,
0,
0
],
"name": "FlightHelmet",
"translation": [
0,
0,
0
],
"scale": [
1,
1,
1
]
}
],
"scene": 0,
"scenes": [
{
"nodes": [
5
]
}
],
"textures": [
{
"source": 0
},
{
"source": 1
},
{
"source": 2
},
{
"source": 3
},
{
"source": 4
},
{
"source": 5
},
{
"source": 6
},
{
"source": 7
},
{
"source": 8
},
{
"source": 9
},
{
"source": 10
},
{
"source": 11
},
{
"source": 12
},
{
"source": 13
},
{
"source": 14
}
],
"extensionsRequired": [
"KHR_draco_mesh_compression"
],
"extensionsUsed": [
"KHR_draco_mesh_compression"
]
}
version https://git-lfs.github.com/spec/v1
oid sha256:7b05a4cf63ea1c614a9385cdb902c62bad324eccbb87a6c9e3370da2b6f36f2d
size 14565

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 806 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 737 KiB

After

Width:  |  Height:  |  Size: 131 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 MiB

After

Width:  |  Height:  |  Size: 132 B

View File

@@ -1,16 +1,3 @@
# Flight Helmet
## Screenshot
![screenshot](screenshot/screenshot.jpg)
## License Information
Donated by Microsoft for glTF testing
[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)
To the extent possible under law, Microsoft has waived all copyright and related or neighboring rights to this asset.
Draco compression was done via Cesium tools on 27-03-2020 as follows.
gltf-pipeline -i FlightHelmet.gltf -o FlightHelmet.gltf -d -s --keep-unused-elements
version https://git-lfs.github.com/spec/v1
oid sha256:0bc81c711f74fdfd2ef56e34d747383444a3ab6a1ee52fe62cb5838e59b0be56
size 545

View File

@@ -1,9 +1,3 @@
Model by LaVADraGoN at Sketchfab.
From an joint University Project "Dune Express" Concept-Model was created by my Partner Evil Cloud.
License: CC Attribution-NonCommercial
Draco compression was done via Cesium tools on 27-03-2020 as follows.
gltf-pipeline -i scene.gltf -o scene.gltf -d -s --keep-unused-elements
version https://git-lfs.github.com/spec/v1
oid sha256:84f9da89760420d519b4be28e1c9b3962416b7b87e4a1484ca56a83d57c53e3e
size 330

Binary file not shown.

Binary file not shown.

3
example/assets/cube.glb Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:674e74fbef9b017aa071cd985bcc34c34c96fc57051a0724b6c23de78cd22db8
size 2352

View File

@@ -1,831 +1,3 @@
{
"asset" : {
"generator" : "Khronos glTF Blender I/O v1.4.40",
"version" : "2.0"
},
"scene" : 0,
"scenes" : [
{
"name" : "Scene",
"nodes" : [
0,
1,
3
]
}
],
"nodes" : [
{
"mesh" : 0,
"name" : "Cube"
},
{
"mesh" : 1,
"name" : "Cone",
"translation" : [
0,
0,
-4.3612141609191895
]
},
{
"camera" : 0,
"name" : "Camera_Orientation",
"rotation" : [
-0.7071067690849304,
0,
0,
0.7071067690849304
]
},
{
"children" : [
2
],
"name" : "Camera",
"rotation" : [
0.5715538859367371,
0,
0,
0.8205645084381104
],
"translation" : [
0,
6.8069868087768555,
10.164137840270996
]
}
],
"cameras" : [
{
"name" : "Camera.001",
"perspective" : {
"aspectRatio" : 1.7777777777777777,
"yfov" : 0.39959652046304894,
"zfar" : 1000,
"znear" : 0.10000000149011612
},
"type" : "perspective"
}
],
"animations" : [
{
"channels" : [
{
"sampler" : 0,
"target" : {
"node" : 0,
"path" : "translation"
}
}
],
"name" : "FloatUp",
"samplers" : [
{
"input" : 36,
"interpolation" : "LINEAR",
"output" : 37
}
]
}
],
"materials" : [
{
"doubleSided" : true,
"name" : "Material.001",
"pbrMetallicRoughness" : {
"baseColorFactor" : [
0.800000011920929,
0.800000011920929,
0.800000011920929,
1
],
"metallicFactor" : 0,
"roughnessFactor" : 0.4000000059604645
}
}
],
"meshes" : [
{
"extras" : {
"targetNames" : [
"Key 1",
"Key 2",
"Key 3",
"Key 4",
"Key 5",
"Key 6",
"Key 7",
"Key 8"
]
},
"name" : "Cube.001",
"primitives" : [
{
"attributes" : {
"POSITION" : 0,
"NORMAL" : 1,
"TEXCOORD_0" : 2
},
"indices" : 3,
"material" : 0,
"targets" : [
{
"POSITION" : 4,
"NORMAL" : 5
},
{
"POSITION" : 6,
"NORMAL" : 7
},
{
"POSITION" : 8,
"NORMAL" : 9
},
{
"POSITION" : 10,
"NORMAL" : 11
},
{
"POSITION" : 12,
"NORMAL" : 13
},
{
"POSITION" : 14,
"NORMAL" : 15
},
{
"POSITION" : 16,
"NORMAL" : 17
},
{
"POSITION" : 18,
"NORMAL" : 19
}
]
}
],
"weights" : [
0,
0,
0,
0,
1,
1,
1,
1
]
},
{
"extras" : {
"targetNames" : [
"Key 1",
"Key 2",
"Key 3",
"Key 4",
"Key 5",
"Key 6"
]
},
"name" : "Cone",
"primitives" : [
{
"attributes" : {
"POSITION" : 20,
"NORMAL" : 21,
"TEXCOORD_0" : 22
},
"indices" : 23,
"targets" : [
{
"POSITION" : 24,
"NORMAL" : 25
},
{
"POSITION" : 26,
"NORMAL" : 27
},
{
"POSITION" : 28,
"NORMAL" : 29
},
{
"POSITION" : 30,
"NORMAL" : 31
},
{
"POSITION" : 32,
"NORMAL" : 33
},
{
"POSITION" : 34,
"NORMAL" : 35
}
]
}
],
"weights" : [
0,
0,
0,
0,
0,
0
]
}
],
"accessors" : [
{
"bufferView" : 0,
"componentType" : 5126,
"count" : 276,
"max" : [
1,
1,
1
],
"min" : [
-1,
-1,
-1
],
"type" : "VEC3"
},
{
"bufferView" : 1,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 2,
"componentType" : 5126,
"count" : 276,
"type" : "VEC2"
},
{
"bufferView" : 3,
"componentType" : 5123,
"count" : 276,
"type" : "SCALAR"
},
{
"bufferView" : 4,
"componentType" : 5126,
"count" : 276,
"max" : [
0.14205700159072876,
0.36317670345306396,
2.1620800495147705
],
"min" : [
-2.325753688812256,
-0.12704896926879883,
-0.1493830382823944
],
"type" : "VEC3"
},
{
"bufferView" : 5,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 6,
"componentType" : 5126,
"count" : 276,
"max" : [
0.14205700159072876,
0.6298741102218628,
0.14937379956245422
],
"min" : [
-0.5040037631988525,
-0.12704896926879883,
-0.7224071025848389
],
"type" : "VEC3"
},
{
"bufferView" : 7,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 8,
"componentType" : 5126,
"count" : 276,
"max" : [
1.1911587715148926,
0.7055504322052002,
0.14937379956245422
],
"min" : [
-0.1420515477657318,
-0.12704896926879883,
-0.9040634632110596
],
"type" : "VEC3"
},
{
"bufferView" : 9,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 10,
"componentType" : 5126,
"count" : 276,
"max" : [
1.0930120944976807,
0.12705659866333008,
0.14937379956245422
],
"min" : [
-0.1420515477657318,
-1.7105424404144287,
-0.3054158687591553
],
"type" : "VEC3"
},
{
"bufferView" : 11,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 12,
"componentType" : 5126,
"count" : 276,
"max" : [
1.0931031703948975,
7.137829303741455,
1.149359941482544
],
"min" : [
-1.0931031703948975,
-0.284426212310791,
-1.149359941482544
],
"type" : "VEC3"
},
{
"bufferView" : 13,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 14,
"componentType" : 5126,
"count" : 276,
"max" : [
0.7663934230804443,
0.12705659866333008,
0.14937379956245422
],
"min" : [
-0.1420515477657318,
-1.3416147232055664,
-1.2583342790603638
],
"type" : "VEC3"
},
{
"bufferView" : 15,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 16,
"componentType" : 5126,
"count" : 276,
"max" : [
1.0939359664916992,
0.12705659866333008,
0.14937379956245422
],
"min" : [
-0.1420515477657318,
-1.257744312286377,
-1.9783165454864502
],
"type" : "VEC3"
},
{
"bufferView" : 17,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 18,
"componentType" : 5126,
"count" : 276,
"max" : [
0.9689376950263977,
0.12705659866333008,
0.14937379956245422
],
"min" : [
-0.1420515477657318,
-1.4092154502868652,
-1.7750303745269775
],
"type" : "VEC3"
},
{
"bufferView" : 19,
"componentType" : 5126,
"count" : 276,
"type" : "VEC3"
},
{
"bufferView" : 20,
"componentType" : 5126,
"count" : 148,
"max" : [
1,
1,
1
],
"min" : [
-1,
-1,
-1
],
"type" : "VEC3"
},
{
"bufferView" : 21,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 22,
"componentType" : 5126,
"count" : 148,
"type" : "VEC2"
},
{
"bufferView" : 23,
"componentType" : 5123,
"count" : 186,
"type" : "SCALAR"
},
{
"bufferView" : 24,
"componentType" : 5126,
"count" : 148,
"max" : [
0,
0.5201449394226074,
0
],
"min" : [
0,
0,
0
],
"type" : "VEC3"
},
{
"bufferView" : 25,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 26,
"componentType" : 5126,
"count" : 148,
"max" : [
5.200448989868164,
0,
0
],
"min" : [
0,
0,
0
],
"type" : "VEC3"
},
{
"bufferView" : 27,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 28,
"componentType" : 5126,
"count" : 148,
"max" : [
0,
0,
0
],
"min" : [
0,
0,
-1.9945937395095825
],
"type" : "VEC3"
},
{
"bufferView" : 29,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 30,
"componentType" : 5126,
"count" : 148,
"max" : [
0,
0,
0
],
"min" : [
0,
0,
0
],
"type" : "VEC3"
},
{
"bufferView" : 31,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 32,
"componentType" : 5126,
"count" : 148,
"max" : [
0,
0,
0
],
"min" : [
0,
0,
0
],
"type" : "VEC3"
},
{
"bufferView" : 33,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 34,
"componentType" : 5126,
"count" : 148,
"max" : [
0,
0,
0
],
"min" : [
0,
0,
0
],
"type" : "VEC3"
},
{
"bufferView" : 35,
"componentType" : 5126,
"count" : 148,
"type" : "VEC3"
},
{
"bufferView" : 36,
"componentType" : 5126,
"count" : 60,
"max" : [
2.5
],
"min" : [
0.041666666666666664
],
"type" : "SCALAR"
},
{
"bufferView" : 37,
"componentType" : 5126,
"count" : 60,
"type" : "VEC3"
}
],
"bufferViews" : [
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 0
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 3312
},
{
"buffer" : 0,
"byteLength" : 2208,
"byteOffset" : 6624
},
{
"buffer" : 0,
"byteLength" : 552,
"byteOffset" : 8832
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 9384
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 12696
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 16008
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 19320
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 22632
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 25944
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 29256
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 32568
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 35880
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 39192
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 42504
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 45816
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 49128
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 52440
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 55752
},
{
"buffer" : 0,
"byteLength" : 3312,
"byteOffset" : 59064
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 62376
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 64152
},
{
"buffer" : 0,
"byteLength" : 1184,
"byteOffset" : 65928
},
{
"buffer" : 0,
"byteLength" : 372,
"byteOffset" : 67112
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 67484
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 69260
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 71036
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 72812
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 74588
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 76364
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 78140
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 79916
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 81692
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 83468
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 85244
},
{
"buffer" : 0,
"byteLength" : 1776,
"byteOffset" : 87020
},
{
"buffer" : 0,
"byteLength" : 240,
"byteOffset" : 88796
},
{
"buffer" : 0,
"byteLength" : 720,
"byteOffset" : 89036
}
],
"buffers" : [
{
"byteLength" : 89756,
"uri" : "cube.bin"
}
]
}
version https://git-lfs.github.com/spec/v1
oid sha256:36c83fcf7f31a08420f487bb7f722a4b92728e53158b76e3764f0ee304db832d
size 20259

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:51bf0fae302aebf5db6f96a1d950951d347de9de036f2446ffe7c03ef7e45d90
size 15782592

File diff suppressed because it is too large Load Diff

View File

@@ -1,185 +1,3 @@
material {
name : ubershader_gpu,
requires : [ uv0, uv1, color ],
shadingModel : lit,
blending : transparent,
depthWrite : true,
doubleSided : true,
flipUV : false,
specularAmbientOcclusion : simple,
specularAntiAliasing : true,
clearCoatIorChange : false,
vertexDomain: world,
parameters : [
{ type : float3, name : specularFactor },
{ type : float, name : glossinessFactor },
// Base Color
{ type : int, name : baseColorIndex },
{ type : float4, name : baseColorFactor },
{ type : sampler2d, name : baseColorMap },
{ type : mat3, name : baseColorUvMatrix, precision: high },
// Metallic-Roughness Map
{ type : int, name : metallicRoughnessIndex },
{ type : float, name : metallicFactor },
{ type : float, name : roughnessFactor },
{ type : sampler2d, name : metallicRoughnessMap },
{ type : mat3, name : metallicRoughnessUvMatrix, precision: high },
// Normal Map
{ type : int, name : normalIndex },
{ type : float, name : normalScale },
{ type : sampler2d, name : normalMap },
{ type : mat3, name : normalUvMatrix, precision: high },
// Ambient Occlusion
{ type : int, name : aoIndex },
{ type : float, name : aoStrength },
{ type : sampler2d, name : occlusionMap },
{ type : mat3, name : occlusionUvMatrix, precision: high },
// Emissive Map
{ type : int, name : emissiveIndex },
{ type : float3, name : emissiveFactor },
{ type : sampler2d, name : emissiveMap },
{ type : mat3, name : emissiveUvMatrix, precision: high },
// Cleat coat
{ type : float, name : clearCoatFactor },
{ type : float, name : clearCoatRoughnessFactor },
{ type : int, name : clearCoatIndex },
{ type : sampler2d, name : clearCoatMap },
{ type : mat3, name : clearCoatUvMatrix, precision: high },
{ type : int, name : clearCoatRoughnessIndex },
{ type : sampler2d, name : clearCoatRoughnessMap },
{ type : mat3, name : clearCoatRoughnessUvMatrix, precision: high },
{ type : int, name : clearCoatNormalIndex },
{ type : sampler2d, name : clearCoatNormalMap },
{ type : mat3, name : clearCoatNormalUvMatrix, precision: high },
{ type : float, name : clearCoatNormalScale },
// Reflectance
{ type : float, name : reflectance },
{ type : int3, name: dimensions },
{ type : float[255], name:"morphTargetWeights" },
{ type: sampler2dArray, format: float, name:"morphTargets" }
],
}
fragment {
void material(inout MaterialInputs material) {
highp float2 uvs[2];
uvs[0] = getUV0();
uvs[1] = getUV1();
if (materialParams.normalIndex > -1) {
highp float2 uv = uvs[materialParams.normalIndex];
uv = (vec3(uv, 1.0) * materialParams.normalUvMatrix).xy;
material.normal = texture(materialParams_normalMap, uv).xyz * 2.0 - 1.0;
material.normal.xy *= materialParams.normalScale;
}
if (materialParams.clearCoatNormalIndex > -1) {
highp float2 uv = uvs[materialParams.clearCoatNormalIndex];
uv = (vec3(uv, 1.0) * materialParams.clearCoatNormalUvMatrix).xy;
material.clearCoatNormal = texture(materialParams_clearCoatNormalMap, uv).xyz * 2.0 - 1.0;
material.clearCoatNormal.xy *= materialParams.clearCoatNormalScale;
}
prepareMaterial(material);
material.baseColor = materialParams.baseColorFactor;
if (materialParams.baseColorIndex > -1) {
highp float2 uv = uvs[materialParams.baseColorIndex];
uv = (vec3(uv, 1.0) * materialParams.baseColorUvMatrix).xy;
material.baseColor *= texture(materialParams_baseColorMap, uv);
}
material.baseColor *= getColor();
material.baseColor.rgb *= material.baseColor.a;
material.roughness = materialParams.roughnessFactor;
material.metallic = materialParams.metallicFactor;
// KHR_materials_clearcoat forbids clear coat from
// being applied in the specular/glossiness model
material.clearCoat = materialParams.clearCoatFactor;
material.clearCoatRoughness = materialParams.clearCoatRoughnessFactor;
if (materialParams.clearCoatIndex > -1) {
highp float2 uv = uvs[materialParams.clearCoatIndex];
uv = (vec3(uv, 1.0) * materialParams.clearCoatUvMatrix).xy;
material.clearCoat *= texture(materialParams_clearCoatMap, uv).r;
}
if (materialParams.clearCoatRoughnessIndex > -1) {
highp float2 uv = uvs[materialParams.clearCoatRoughnessIndex];
uv = (vec3(uv, 1.0) * materialParams.clearCoatRoughnessUvMatrix).xy;
material.clearCoatRoughness *= texture(materialParams_clearCoatRoughnessMap, uv).g;
}
material.emissive = vec4(materialParams.emissiveFactor.rgb, 0.0);
if (materialParams.metallicRoughnessIndex > -1) {
highp float2 uv = uvs[materialParams.metallicRoughnessIndex];
uv = (vec3(uv, 1.0) * materialParams.metallicRoughnessUvMatrix).xy;
vec4 mr = texture(materialParams_metallicRoughnessMap, uv);
material.roughness *= mr.g;
material.metallic *= mr.b;
}
if (materialParams.aoIndex > -1) {
highp float2 uv = uvs[materialParams.aoIndex];
uv = (vec3(uv, 1.0) * materialParams.occlusionUvMatrix).xy;
material.ambientOcclusion = texture(materialParams_occlusionMap, uv).r *
materialParams.aoStrength;
}
if (materialParams.emissiveIndex > -1) {
highp float2 uv = uvs[materialParams.emissiveIndex];
uv = (vec3(uv, 1.0) * materialParams.emissiveUvMatrix).xy;
material.emissive.rgb *= texture(materialParams_emissiveMap, uv).rgb;
}
}
}
vertex {
vec3 getMorphTarget(int vertexIndex, int morphTargetIndex) {
// our texture is laid out as (x,y,z) where y is 1, z is the number of morph targets, and x is the number of vertices * 2 (multiplication accounts for position + normal)
// UV coordinates are normalized to (-1,1), so we divide the current vertex index by the total number of vertices to find the correct coordinate for this vertex
vec3 uv = vec3(
(float(vertexIndex) + 0.5) / float(materialParams.dimensions.x),
0.0f,
//(float(morphTargetIndex) + 0.5f) / float(materialParams.dimensions.z));
float(morphTargetIndex));
return texture(materialParams_morphTargets, uv).xyz;
}
void materialVertex(inout MaterialVertexInputs material) {
// for every morph target
for(int morphTargetIndex = 0; morphTargetIndex < materialParams.dimensions.z; morphTargetIndex++) {
// get the weight to apply
float weight = materialParams.morphTargetWeights[morphTargetIndex];
// get the ID of this vertex, which will be the x-offset of the position attribute in the texture sampler
int vertexId = getVertexIndex();
// get the position of the target for this vertex
vec3 morphTargetPosition = getMorphTarget(vertexId, morphTargetIndex);
// update the world position of this vertex
material.worldPosition.xyz += (weight * morphTargetPosition);
// increment the vertexID by half the size of the texture to get the x-offset of the normal (all positions stored in the first half, all normals stored in the second half)
vertexId += (materialParams.dimensions.x / 2);
// get the normal of this target for this vertex
vec3 morphTargetNormal = getMorphTarget(vertexId, morphTargetIndex);
material.worldNormal += (weight * morphTargetNormal);
}
mat4 transform = getWorldFromModelMatrix();
material.worldPosition = mulMat4x4Float3(transform, material.worldPosition.xyz);
}
}
version https://git-lfs.github.com/spec/v1
oid sha256:4e5abbab543615b9933bcc271430ceb6b934811c98704700b409f3ae9c990d1e
size 8651