浏览代码

Examples: Use RGBM16 format in webgl_materials_standard example.

Mr.doob 6 年之前
父节点
当前提交
80946867b1
共有 1 个文件被更改,包括 10 次插入19 次删除
  1. 10 19
      examples/webgl_materials_standard.html

+ 10 - 19
examples/webgl_materials_standard.html

@@ -46,8 +46,6 @@
 
 		<script src="js/controls/TrackballControls.js"></script>
 		<script src="js/loaders/OBJLoader.js"></script>
-		<script src="js/loaders/RGBELoader.js"></script>
-		<script src="js/loaders/HDRCubeTextureLoader.js"></script>
 
 		<script src="js/pmrem/PMREMGenerator.js"></script>
 		<script src="js/pmrem/PMREMCubeUVPacker.js"></script>
@@ -140,33 +138,26 @@
 
 					} );
 
-				var genCubeUrls = function ( prefix, postfix ) {
+				new THREE.CubeTextureLoader().setPath( './textures/cube/pisaRGBM16/' )
+					.load( [ 'px.png', 'nx.png', 'py.png', 'ny.png', 'pz.png', 'nz.png' ], function ( rgbmCubeMap ) {
 
-					return [
-						prefix + 'px' + postfix, prefix + 'nx' + postfix,
-						prefix + 'py' + postfix, prefix + 'ny' + postfix,
-						prefix + 'pz' + postfix, prefix + 'nz' + postfix
-					];
+					rgbmCubeMap.encoding = THREE.RGBM16Encoding;
+					rgbmCubeMap.format = THREE.RGBAFormat;
 
-				};
-
-				var hdrUrls = genCubeUrls( './textures/cube/pisaHDR/', '.hdr' );
-				new THREE.HDRCubeTextureLoader().load( THREE.UnsignedByteType, hdrUrls, function ( hdrCubeMap ) {
-
-					var pmremGenerator = new THREE.PMREMGenerator( hdrCubeMap );
+					var pmremGenerator = new THREE.PMREMGenerator( rgbmCubeMap );
 					pmremGenerator.update( renderer );
 
 					var pmremCubeUVPacker = new THREE.PMREMCubeUVPacker( pmremGenerator.cubeLods );
 					pmremCubeUVPacker.update( renderer );
 
-					var hdrCubeRenderTarget = pmremCubeUVPacker.CubeUVRenderTarget;
+					var rgbmCubeRenderTarget = pmremCubeUVPacker.CubeUVRenderTarget;
 
-					material.envMap = hdrCubeRenderTarget.texture;
+					material.envMap = rgbmCubeRenderTarget.texture;
 					material.needsUpdate = true; // is this needed?
 
-					hdrCubeMap.magFilter = THREE.LinearFilter;
-					hdrCubeMap.needsUpdate = true;
-					scene.background = hdrCubeMap;
+					rgbmCubeMap.magFilter = THREE.LinearFilter;
+					rgbmCubeMap.needsUpdate = true;
+					scene.background = rgbmCubeMap;
 
 					pmremGenerator.dispose();
 					pmremCubeUVPacker.dispose();