|
@@ -62,11 +62,14 @@
|
|
var manager = new THREE.LoadingManager( render );
|
|
var manager = new THREE.LoadingManager( render );
|
|
|
|
|
|
// matcap
|
|
// matcap
|
|
- var loader = new EXRLoader( manager );
|
|
|
|
|
|
+ var loader = new EXRLoader( manager )
|
|
|
|
+ .setDataType( THREE.UnsignedByteType ); // default: FloatType
|
|
|
|
+
|
|
var matcap = loader.load( 'textures/matcaps/040full.exr' );
|
|
var matcap = loader.load( 'textures/matcaps/040full.exr' );
|
|
|
|
|
|
// normalmap
|
|
// normalmap
|
|
var loader = new THREE.TextureLoader( manager );
|
|
var loader = new THREE.TextureLoader( manager );
|
|
|
|
+
|
|
var normalmap = loader.load( 'models/gltf/LeePerrySmith/Infinite-Level_02_Tangent_SmoothUV.jpg' );
|
|
var normalmap = loader.load( 'models/gltf/LeePerrySmith/Infinite-Level_02_Tangent_SmoothUV.jpg' );
|
|
|
|
|
|
// model
|
|
// model
|
|
@@ -179,6 +182,8 @@
|
|
|
|
|
|
var loader = new EXRLoader();
|
|
var loader = new EXRLoader();
|
|
|
|
|
|
|
|
+ loader.setDataType( THREE.UnsignedByteType ); // default: FloatType
|
|
|
|
+
|
|
var texData = loader.parse( contents );
|
|
var texData = loader.parse( contents );
|
|
|
|
|
|
var texture = new THREE.DataTexture();
|
|
var texture = new THREE.DataTexture();
|
|
@@ -190,9 +195,28 @@
|
|
texture.format = texData.format;
|
|
texture.format = texData.format;
|
|
texture.type = texData.type;
|
|
texture.type = texData.type;
|
|
|
|
|
|
- texture.generateMipmaps = false;
|
|
|
|
- texture.magFilter = THREE.LinearFilter;
|
|
|
|
- texture.minFilter = THREE.LinearFilter;
|
|
|
|
|
|
+ switch ( texture.type ) {
|
|
|
|
+
|
|
|
|
+ case THREE.UnsignedByteType:
|
|
|
|
+
|
|
|
|
+ texture.encoding = THREE.RGBEEncoding;
|
|
|
|
+ texture.minFilter = THREE.NearestFilter;
|
|
|
|
+ texture.magFilter = THREE.NearestFilter;
|
|
|
|
+ texture.generateMipmaps = false;
|
|
|
|
+ texture.flipY = false;
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ case THREE.FloatType:
|
|
|
|
+ case THREE.HalfFloatType:
|
|
|
|
+
|
|
|
|
+ texture.encoding = THREE.LinearEncoding;
|
|
|
|
+ texture.minFilter = THREE.LinearFilter;
|
|
|
|
+ texture.magFilter = THREE.LinearFilter;
|
|
|
|
+ texture.generateMipmaps = false;
|
|
|
|
+ texture.flipY = false;
|
|
|
|
+ break;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
updateMatcap( texture );
|
|
updateMatcap( texture );
|
|
|
|
|