[*Percentage-closer soft shadows*] are a technique from 2004 that allow shadows to become blurrier farther from the objects that cast them. It works by introducing a *blocker search* step that runs before the normal shadow map sampling. The blocker search step detects the difference between the depth of the fragment being rasterized and the depth of the nearby samples in the depth buffer. Larger depth differences result in a larger penumbra and therefore a blurrier shadow. To enable PCSS, fill in the `soft_shadow_size` value in `DirectionalLight`, `PointLight`, or `SpotLight`, as appropriate. This shadow size value represents the size of the light and should be tuned as appropriate for your scene. Higher values result in a wider penumbra (i.e. blurrier shadows). When using PCSS, temporal shadow maps (`ShadowFilteringMethod::Temporal`) are recommended. If you don't use `ShadowFilteringMethod::Temporal` and instead use `ShadowFilteringMethod::Gaussian`, Bevy will use the same technique as `Temporal`, but the result won't vary over time. This produces a rather noisy result. Doing better would likely require downsampling the shadow map, which would be complex and slower (and would require PR #13003 to land first). In addition to PCSS, this commit makes the near Z plane for the shadow map configurable on a per-light basis. Previously, it had been hardcoded to 0.1 meters. This change was necessary to make the point light shadow map in the example look reasonable, as otherwise the shadows appeared far too aliased. A new example, `pcss`, has been added. It demonstrates the percentage-closer soft shadow technique with directional lights, point lights, spot lights, non-temporal operation, and temporal operation. The assets are my original work. Both temporal and non-temporal shadows are rather noisy in the example, and, as mentioned before, this is unavoidable without downsampling the depth buffer, which we can't do yet. Note also that the shadows don't look particularly great for point lights; the example simply isn't an ideal scene for them. Nevertheless, I felt that the benefits of the ability to do a side-by-side comparison of directional and point lights outweighed the unsightliness of the point light shadows in that example, so I kept the point light feature in. Fixes #3631. [*Percentage-closer soft shadows*]: https://developer.download.nvidia.com/shaderlibrary/docs/shadow_PCSS.pdf ## Changelog ### Added * Percentage-closer soft shadows (PCSS) are now supported, allowing shadows to become blurrier as they stretch away from objects. To use them, set the `soft_shadow_size` field in `DirectionalLight`, `PointLight`, or `SpotLight`, as applicable. * The near Z value for shadow maps is now customizable via the `shadow_map_near_z` field in `DirectionalLight`, `PointLight`, and `SpotLight`. ## Screenshots PCSS off:  PCSS on:  --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> Co-authored-by: Torstein Grindvik <52322338+torsteingrindvik@users.noreply.github.com>
		
			
				
	
	
		
			1067 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			1067 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
{
 | 
						|
	"asset":{
 | 
						|
		"generator":"Khronos glTF Blender I/O v4.1.63",
 | 
						|
		"version":"2.0"
 | 
						|
	},
 | 
						|
	"scene":0,
 | 
						|
	"scenes":[
 | 
						|
		{
 | 
						|
			"name":"Scene",
 | 
						|
			"nodes":[
 | 
						|
				0,
 | 
						|
				3,
 | 
						|
				6,
 | 
						|
				9,
 | 
						|
				12,
 | 
						|
				15,
 | 
						|
				18,
 | 
						|
				21,
 | 
						|
				22,
 | 
						|
				23
 | 
						|
			]
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"nodes":[
 | 
						|
		{
 | 
						|
			"mesh":0,
 | 
						|
			"name":"B\u00e9zierCurve",
 | 
						|
			"rotation":[
 | 
						|
				-0.6492608785629272,
 | 
						|
				0.6492608189582825,
 | 
						|
				-0.28010788559913635,
 | 
						|
				0.28010791540145874
 | 
						|
			],
 | 
						|
			"scale":[
 | 
						|
				-1.5591872930526733,
 | 
						|
				-1.5591872930526733,
 | 
						|
				-1.5591872930526733
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.7588800191879272,
 | 
						|
				1.8171958923339844,
 | 
						|
				-0.701636791229248
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.001"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":1,
 | 
						|
			"name":"Grid",
 | 
						|
			"scale":[
 | 
						|
				0.7174922227859497,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551956415176392,
 | 
						|
				0.06293392181396484,
 | 
						|
				-0.1808854639530182
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				1,
 | 
						|
				2
 | 
						|
			],
 | 
						|
			"name":"Empty",
 | 
						|
			"rotation":[
 | 
						|
				0,
 | 
						|
				-0.16959351301193237,
 | 
						|
				0,
 | 
						|
				0.9855141043663025
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.27010849118232727,
 | 
						|
				3.3713648319244385,
 | 
						|
				-0.5507277250289917
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.002"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":2,
 | 
						|
			"name":"Grid.001",
 | 
						|
			"scale":[
 | 
						|
				0.7174922227859497,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551955819129944,
 | 
						|
				0.06293395161628723,
 | 
						|
				-0.18088552355766296
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				4,
 | 
						|
				5
 | 
						|
			],
 | 
						|
			"name":"Empty.001",
 | 
						|
			"rotation":[
 | 
						|
				-0.1744275838136673,
 | 
						|
				-0.9500948786735535,
 | 
						|
				-0.04670312628149986,
 | 
						|
				0.2543886601924896
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				-0.32273390889167786,
 | 
						|
				3.377293348312378,
 | 
						|
				-0.6218688488006592
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.003"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":3,
 | 
						|
			"name":"Grid.002",
 | 
						|
			"scale":[
 | 
						|
				0.7174922227859497,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551957011222839,
 | 
						|
				0.06293392181396484,
 | 
						|
				-0.18088555335998535
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				7,
 | 
						|
				8
 | 
						|
			],
 | 
						|
			"name":"Empty.002",
 | 
						|
			"rotation":[
 | 
						|
				0,
 | 
						|
				0.9468244314193726,
 | 
						|
				0,
 | 
						|
				0.3217506408691406
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				-0.10338221490383148,
 | 
						|
				3.377293348312378,
 | 
						|
				-0.7404372692108154
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.004"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":4,
 | 
						|
			"name":"Grid.003",
 | 
						|
			"scale":[
 | 
						|
				0.7174922823905945,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551957011222839,
 | 
						|
				0.0629342570900917,
 | 
						|
				-0.18088553845882416
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				10,
 | 
						|
				11
 | 
						|
			],
 | 
						|
			"name":"Empty.003",
 | 
						|
			"rotation":[
 | 
						|
				0.039769601076841354,
 | 
						|
				-0.5909609794616699,
 | 
						|
				-0.054099712520837784,
 | 
						|
				0.803900957107544
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				-0.020384281873703003,
 | 
						|
				3.377293348312378,
 | 
						|
				-0.3432328999042511
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.005"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":5,
 | 
						|
			"name":"Grid.004",
 | 
						|
			"scale":[
 | 
						|
				0.7174922227859497,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551955819129944,
 | 
						|
				0.0629342794418335,
 | 
						|
				-0.18088550865650177
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				13,
 | 
						|
				14
 | 
						|
			],
 | 
						|
			"name":"Empty.004",
 | 
						|
			"rotation":[
 | 
						|
				0.06433407217264175,
 | 
						|
				0.6805833578109741,
 | 
						|
				0.06868407875299454,
 | 
						|
				0.7266016602516174
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.14561158418655396,
 | 
						|
				3.377293348312378,
 | 
						|
				-0.633725643157959
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.006"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":6,
 | 
						|
			"name":"Grid.005",
 | 
						|
			"scale":[
 | 
						|
				0.7174922227859497,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551957607269287,
 | 
						|
				0.06293407082557678,
 | 
						|
				-0.18088555335998535
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				16,
 | 
						|
				17
 | 
						|
			],
 | 
						|
			"name":"Empty.005",
 | 
						|
			"rotation":[
 | 
						|
				-0.027264947071671486,
 | 
						|
				0.32132646441459656,
 | 
						|
				-0.08003053814172745,
 | 
						|
				0.9431866407394409
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.14561158418655396,
 | 
						|
				3.377293348312378,
 | 
						|
				-0.633725643157959
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve.007"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":7,
 | 
						|
			"name":"Grid.006",
 | 
						|
			"scale":[
 | 
						|
				0.7174922227859497,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				0.8551956415176392,
 | 
						|
				0.06293423473834991,
 | 
						|
				-0.18088550865650177
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"children":[
 | 
						|
				19,
 | 
						|
				20
 | 
						|
			],
 | 
						|
			"name":"Empty.006",
 | 
						|
			"rotation":[
 | 
						|
				0.025538405403494835,
 | 
						|
				-0.8604785799980164,
 | 
						|
				-0.015095553360879421,
 | 
						|
				0.5086221694946289
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				-0.13840311765670776,
 | 
						|
				3.38228178024292,
 | 
						|
				-0.48537585139274597
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":8,
 | 
						|
			"name":"Landscape",
 | 
						|
			"rotation":[
 | 
						|
				0,
 | 
						|
				-0.07845905423164368,
 | 
						|
				0,
 | 
						|
				0.9969173669815063
 | 
						|
			],
 | 
						|
			"scale":[
 | 
						|
				1.0773953199386597,
 | 
						|
				1.0773954391479492,
 | 
						|
				1.0773953199386597
 | 
						|
			],
 | 
						|
			"translation":[
 | 
						|
				-1.4325428009033203,
 | 
						|
				0.049118101596832275,
 | 
						|
				-17.66829490661621
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"mesh":9,
 | 
						|
			"name":"Landscape_plane",
 | 
						|
			"scale":[
 | 
						|
				6.12558650970459,
 | 
						|
				6.12558650970459,
 | 
						|
				6.12558650970459
 | 
						|
			]
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"materials":[
 | 
						|
		{
 | 
						|
			"doubleSided":true,
 | 
						|
			"name":"Trunk",
 | 
						|
			"pbrMetallicRoughness":{
 | 
						|
				"baseColorFactor":[
 | 
						|
					0.61811763048172,
 | 
						|
					0.26356762647628784,
 | 
						|
					0.11393062770366669,
 | 
						|
					1
 | 
						|
				],
 | 
						|
				"metallicFactor":0,
 | 
						|
				"roughnessFactor":0.5
 | 
						|
			}
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"doubleSided":true,
 | 
						|
			"name":"Leaves",
 | 
						|
			"pbrMetallicRoughness":{
 | 
						|
				"baseColorFactor":[
 | 
						|
					0.2105390429496765,
 | 
						|
					0.8000074625015259,
 | 
						|
					0.14856106042861938,
 | 
						|
					1
 | 
						|
				],
 | 
						|
				"metallicFactor":0,
 | 
						|
				"roughnessFactor":0.5
 | 
						|
			}
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"doubleSided":true,
 | 
						|
			"name":"Material.001",
 | 
						|
			"pbrMetallicRoughness":{
 | 
						|
				"baseColorFactor":[
 | 
						|
					1,
 | 
						|
					0.9668273329734802,
 | 
						|
					0.5682248473167419,
 | 
						|
					1
 | 
						|
				],
 | 
						|
				"metallicFactor":0,
 | 
						|
				"roughnessFactor":0.5
 | 
						|
			}
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"doubleSided":true,
 | 
						|
			"emissiveFactor":[
 | 
						|
				1,
 | 
						|
				1,
 | 
						|
				1
 | 
						|
			],
 | 
						|
			"emissiveTexture":{
 | 
						|
				"index":0
 | 
						|
			},
 | 
						|
			"name":"Water",
 | 
						|
			"pbrMetallicRoughness":{
 | 
						|
				"baseColorTexture":{
 | 
						|
					"index":1
 | 
						|
				},
 | 
						|
				"metallicFactor":0,
 | 
						|
				"roughnessFactor":0.5
 | 
						|
			}
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"meshes":[
 | 
						|
		{
 | 
						|
			"name":"B\u00e9zierCurve",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":0,
 | 
						|
						"NORMAL":1,
 | 
						|
						"TEXCOORD_0":2
 | 
						|
					},
 | 
						|
					"indices":3,
 | 
						|
					"material":0
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":4,
 | 
						|
						"NORMAL":5,
 | 
						|
						"TEXCOORD_0":6
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid.001",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":8,
 | 
						|
						"NORMAL":9,
 | 
						|
						"TEXCOORD_0":10
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid.002",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":11,
 | 
						|
						"NORMAL":12,
 | 
						|
						"TEXCOORD_0":13
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid.003",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":14,
 | 
						|
						"NORMAL":15,
 | 
						|
						"TEXCOORD_0":16
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid.004",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":17,
 | 
						|
						"NORMAL":18,
 | 
						|
						"TEXCOORD_0":19
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid.005",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":20,
 | 
						|
						"NORMAL":21,
 | 
						|
						"TEXCOORD_0":22
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Grid.006",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":23,
 | 
						|
						"NORMAL":24,
 | 
						|
						"TEXCOORD_0":25
 | 
						|
					},
 | 
						|
					"indices":7,
 | 
						|
					"material":1
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Landscape.001",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":26,
 | 
						|
						"NORMAL":27,
 | 
						|
						"TEXCOORD_0":28
 | 
						|
					},
 | 
						|
					"indices":29,
 | 
						|
					"material":2
 | 
						|
				}
 | 
						|
			]
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"name":"Landscape_plane",
 | 
						|
			"primitives":[
 | 
						|
				{
 | 
						|
					"attributes":{
 | 
						|
						"POSITION":30,
 | 
						|
						"NORMAL":31,
 | 
						|
						"TEXCOORD_0":32
 | 
						|
					},
 | 
						|
					"indices":33,
 | 
						|
					"material":3
 | 
						|
				}
 | 
						|
			]
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"textures":[
 | 
						|
		{
 | 
						|
			"sampler":0,
 | 
						|
			"source":0
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"sampler":0,
 | 
						|
			"source":0
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"images":[
 | 
						|
		{
 | 
						|
			"mimeType":"image/png",
 | 
						|
			"name":"StylizedWater",
 | 
						|
			"uri":"StylizedWater.png"
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"accessors":[
 | 
						|
		{
 | 
						|
			"bufferView":0,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":720,
 | 
						|
			"max":[
 | 
						|
				1.0449047088623047,
 | 
						|
				0.10000000149011612,
 | 
						|
				0.4650161862373352
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.0722216367721558,
 | 
						|
				-0.10000000149011612,
 | 
						|
				-0.10050036013126373
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":1,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":720,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":2,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":720,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":3,
 | 
						|
			"componentType":5123,
 | 
						|
			"count":1260,
 | 
						|
			"type":"SCALAR"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":4,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.6420668959617615,
 | 
						|
				0.27458858489990234,
 | 
						|
				0.5718027353286743
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.78363037109375,
 | 
						|
				-0.2425653040409088,
 | 
						|
				-0.18408852815628052
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":5,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":6,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":7,
 | 
						|
			"componentType":5123,
 | 
						|
			"count":756,
 | 
						|
			"type":"SCALAR"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":8,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.6420671343803406,
 | 
						|
				0.2745886743068695,
 | 
						|
				0.5718027949333191
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.7836307287216187,
 | 
						|
				-0.24256540834903717,
 | 
						|
				-0.18408851325511932
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":9,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":10,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":11,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.6420671343803406,
 | 
						|
				0.27458858489990234,
 | 
						|
				0.5718027949333191
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.783630609512329,
 | 
						|
				-0.2425653636455536,
 | 
						|
				-0.18408846855163574
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":12,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":13,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":14,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.6420667767524719,
 | 
						|
				0.2745886743068695,
 | 
						|
				0.5718027949333191
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.783630609512329,
 | 
						|
				-0.24256554245948792,
 | 
						|
				-0.18408846855163574
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":15,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":16,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":17,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.6420665383338928,
 | 
						|
				0.2745887041091919,
 | 
						|
				0.5718027353286743
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.78363037109375,
 | 
						|
				-0.24256561696529388,
 | 
						|
				-0.1840885579586029
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":18,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":19,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":20,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.6420668959617615,
 | 
						|
				0.27458861470222473,
 | 
						|
				0.5718027949333191
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.783630609512329,
 | 
						|
				-0.24256546795368195,
 | 
						|
				-0.18408843874931335
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":21,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":22,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":23,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"max":[
 | 
						|
				0.642067015171051,
 | 
						|
				0.2745887339115143,
 | 
						|
				0.5718027353286743
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-1.78363037109375,
 | 
						|
				-0.24256548285484314,
 | 
						|
				-0.1840885430574417
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":24,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":25,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":150,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":26,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":4096,
 | 
						|
			"max":[
 | 
						|
				32,
 | 
						|
				1,
 | 
						|
				32
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-32,
 | 
						|
				-1,
 | 
						|
				-32
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":27,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":4096,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":28,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":4096,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":29,
 | 
						|
			"componentType":5123,
 | 
						|
			"count":23814,
 | 
						|
			"type":"SCALAR"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":30,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":4,
 | 
						|
			"max":[
 | 
						|
				32,
 | 
						|
				0.009999999776482582,
 | 
						|
				32
 | 
						|
			],
 | 
						|
			"min":[
 | 
						|
				-32,
 | 
						|
				0.009999999776482582,
 | 
						|
				-32
 | 
						|
			],
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":31,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":4,
 | 
						|
			"type":"VEC3"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":32,
 | 
						|
			"componentType":5126,
 | 
						|
			"count":4,
 | 
						|
			"type":"VEC2"
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"bufferView":33,
 | 
						|
			"componentType":5123,
 | 
						|
			"count":6,
 | 
						|
			"type":"SCALAR"
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"bufferViews":[
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":8640,
 | 
						|
			"byteOffset":0,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":8640,
 | 
						|
			"byteOffset":8640,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":5760,
 | 
						|
			"byteOffset":17280,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":2520,
 | 
						|
			"byteOffset":23040,
 | 
						|
			"target":34963
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":25560,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":27360,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":29160,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1512,
 | 
						|
			"byteOffset":30360,
 | 
						|
			"target":34963
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":31872,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":33672,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":35472,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":36672,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":38472,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":40272,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":41472,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":43272,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":45072,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":46272,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":48072,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":49872,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":51072,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":52872,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":54672,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":55872,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1800,
 | 
						|
			"byteOffset":57672,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":1200,
 | 
						|
			"byteOffset":59472,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":49152,
 | 
						|
			"byteOffset":60672,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":49152,
 | 
						|
			"byteOffset":109824,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":32768,
 | 
						|
			"byteOffset":158976,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":47628,
 | 
						|
			"byteOffset":191744,
 | 
						|
			"target":34963
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":48,
 | 
						|
			"byteOffset":239372,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":48,
 | 
						|
			"byteOffset":239420,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":32,
 | 
						|
			"byteOffset":239468,
 | 
						|
			"target":34962
 | 
						|
		},
 | 
						|
		{
 | 
						|
			"buffer":0,
 | 
						|
			"byteLength":12,
 | 
						|
			"byteOffset":239500,
 | 
						|
			"target":34963
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"samplers":[
 | 
						|
		{
 | 
						|
			"magFilter":9729,
 | 
						|
			"minFilter":9987
 | 
						|
		}
 | 
						|
	],
 | 
						|
	"buffers":[
 | 
						|
		{
 | 
						|
			"byteLength":239512,
 | 
						|
			"uri":"PalmTree.bin"
 | 
						|
		}
 | 
						|
	]
 | 
						|
}
 |