Explorar o código

Merge pull request #11088 from donmccurdy/feat-gltf-pbr-channel-swap

[glTF] Update BoomBox metal-rough demo.
Mr.doob %!s(int64=8) %!d(string=hai) anos
pai
achega
ee76506451

BIN=BIN
examples/models/gltf/BoomBox/glTF-pbrSpecularGlossiness/BoomBox_metallicRoughness.png


BIN=BIN
examples/models/gltf/BoomBox/glTF/BoomBox_metallicRoughness.png


+ 45 - 1
examples/webgl_loader_gltf2.html

@@ -253,6 +253,25 @@
 					if (sceneInfo.objectScale)
 						object.scale.copy(sceneInfo.objectScale);
 
+					if ( sceneInfo.addEnvMap ) {
+
+						var envMap = getEnvMap();
+
+						object.traverse( function( node ) {
+
+							if ( node.material && node.material.isMeshStandardMaterial ) {
+
+								node.material.envMap = envMap;
+								node.material.needsUpdate = true;
+
+							}
+
+						} );
+
+						scene.background = envMap;
+
+					}
+
 					cameraIndex = 0;
 					cameras = [];
 					cameraNames = [];
@@ -367,13 +386,38 @@
 
 			}
 
+			var envMap;
+
+			function getEnvMap() {
+
+				if ( envMap ) {
+
+					return envMap;
+
+				}
+
+				var path = 'textures/cube/Park2/';
+				var format = '.jpg';
+				var urls = [
+					path + 'posx' + format, path + 'negx' + format,
+					path + 'posy' + format, path + 'negy' + format,
+					path + 'posz' + format, path + 'negz' + format
+				];
+
+				envMap = new THREE.CubeTextureLoader().load( urls );
+				envMap.format = THREE.RGBFormat;
+				return envMap;
+
+			}
+
 			var sceneList = [
 				{
 					name : "BoomBox (PBR)", url : "./models/gltf/BoomBox/%s/BoomBox.gltf",
 					cameraPos: new THREE.Vector3(2, 1, 3),
 					objectRotation: new THREE.Euler(0, Math.PI, 0),
 					addLights:true,
-					extensions: ["glTF", "glTF-Binary"]
+					extensions: ["glTF", "glTF-Binary"],
+					addEnvMap: true
 				}
 			];