|
|
@@ -3,7 +3,7 @@
|
|
|
* Copyright 2010-2024 Three.js Authors
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
*/
|
|
|
-const REVISION = '170';
|
|
|
+const REVISION = '171dev';
|
|
|
|
|
|
const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 };
|
|
|
const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 };
|
|
|
@@ -9199,20 +9199,6 @@ let _materialId = 0;
|
|
|
|
|
|
class Material extends EventDispatcher {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'Material';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- get type() {
|
|
|
-
|
|
|
- return this.constructor.type;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- set type( _value ) { /* */ }
|
|
|
-
|
|
|
constructor() {
|
|
|
|
|
|
super();
|
|
|
@@ -9224,6 +9210,7 @@ class Material extends EventDispatcher {
|
|
|
this.uuid = generateUUID();
|
|
|
|
|
|
this.name = '';
|
|
|
+ this.type = 'Material';
|
|
|
|
|
|
this.blending = NormalBlending;
|
|
|
this.side = FrontSide;
|
|
|
@@ -9735,18 +9722,14 @@ class Material extends EventDispatcher {
|
|
|
|
|
|
class MeshBasicMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshBasicMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshBasicMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshBasicMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff ); // emissive
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -12383,18 +12366,14 @@ var default_fragment = "void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0
|
|
|
|
|
|
class ShaderMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'ShaderMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isShaderMaterial = true;
|
|
|
|
|
|
+ this.type = 'ShaderMaterial';
|
|
|
+
|
|
|
this.defines = {};
|
|
|
this.uniforms = {};
|
|
|
this.uniformsGroups = [];
|
|
|
@@ -22221,18 +22200,14 @@ function WebGLRenderStates( extensions ) {
|
|
|
|
|
|
class MeshDepthMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshDepthMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshDepthMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshDepthMaterial';
|
|
|
+
|
|
|
this.depthPacking = BasicDepthPacking;
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -22275,18 +22250,14 @@ class MeshDepthMaterial extends Material {
|
|
|
|
|
|
class MeshDistanceMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshDistanceMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshDistanceMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshDistanceMaterial';
|
|
|
+
|
|
|
this.map = null;
|
|
|
|
|
|
this.alphaMap = null;
|
|
|
@@ -31426,7 +31397,9 @@ class WebGLRenderer {
|
|
|
|
|
|
};
|
|
|
|
|
|
- this.copyTextureToTexture = function ( srcTexture, dstTexture, srcRegion = null, dstPosition = null, level = 0 ) {
|
|
|
+ const _srcFramebuffer = _gl.createFramebuffer();
|
|
|
+ const _dstFramebuffer = _gl.createFramebuffer();
|
|
|
+ this.copyTextureToTexture = function ( srcTexture, dstTexture, srcRegion = null, dstPosition = null, srcLevel = 0, dstLevel = null ) {
|
|
|
|
|
|
// support previous signature with dstPosition first
|
|
|
if ( srcTexture.isTexture !== true ) {
|
|
|
@@ -31437,15 +31410,33 @@ class WebGLRenderer {
|
|
|
dstPosition = arguments[ 0 ] || null;
|
|
|
srcTexture = arguments[ 1 ];
|
|
|
dstTexture = arguments[ 2 ];
|
|
|
- level = arguments[ 3 ] || 0;
|
|
|
+ dstLevel = arguments[ 3 ] || 0;
|
|
|
srcRegion = null;
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // support the previous signature with just a single dst mipmap level
|
|
|
+ if ( dstLevel === null ) {
|
|
|
+
|
|
|
+ if ( srcLevel !== 0 ) {
|
|
|
+
|
|
|
+ // @deprecated, r171
|
|
|
+ warnOnce( 'WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels.' );
|
|
|
+ dstLevel = srcLevel;
|
|
|
+ srcLevel = 0;
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ dstLevel = 0;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
// gather the necessary dimensions to copy
|
|
|
let width, height, depth, minX, minY, minZ;
|
|
|
let dstX, dstY, dstZ;
|
|
|
- const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[ level ] : srcTexture.image;
|
|
|
+ const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[ dstLevel ] : srcTexture.image;
|
|
|
if ( srcRegion !== null ) {
|
|
|
|
|
|
width = srcRegion.max.x - srcRegion.min.x;
|
|
|
@@ -31457,9 +31448,23 @@ class WebGLRenderer {
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- width = image.width;
|
|
|
- height = image.height;
|
|
|
- depth = image.depth || 1;
|
|
|
+ const levelScale = Math.pow( 2, - srcLevel );
|
|
|
+ width = Math.floor( image.width * levelScale );
|
|
|
+ height = Math.floor( image.height * levelScale );
|
|
|
+ if ( srcTexture.isDataArrayTexture ) {
|
|
|
+
|
|
|
+ depth = image.depth;
|
|
|
+
|
|
|
+ } else if ( srcTexture.isData3DTexture ) {
|
|
|
+
|
|
|
+ depth = Math.floor( image.depth * levelScale );
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ depth = 1;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
minX = 0;
|
|
|
minY = 0;
|
|
|
minZ = 0;
|
|
|
@@ -31522,13 +31527,12 @@ class WebGLRenderer {
|
|
|
// set up the src texture
|
|
|
const isSrc3D = srcTexture.isDataArrayTexture || srcTexture.isData3DTexture;
|
|
|
const isDst3D = dstTexture.isDataArrayTexture || dstTexture.isData3DTexture;
|
|
|
- if ( srcTexture.isRenderTargetTexture || srcTexture.isDepthTexture ) {
|
|
|
+ if ( srcTexture.isDepthTexture ) {
|
|
|
|
|
|
const srcTextureProperties = properties.get( srcTexture );
|
|
|
const dstTextureProperties = properties.get( dstTexture );
|
|
|
const srcRenderTargetProperties = properties.get( srcTextureProperties.__renderTarget );
|
|
|
const dstRenderTargetProperties = properties.get( dstTextureProperties.__renderTarget );
|
|
|
-
|
|
|
state.bindFramebuffer( _gl.READ_FRAMEBUFFER, srcRenderTargetProperties.__webglFramebuffer );
|
|
|
state.bindFramebuffer( _gl.DRAW_FRAMEBUFFER, dstRenderTargetProperties.__webglFramebuffer );
|
|
|
|
|
|
@@ -31537,32 +31541,69 @@ class WebGLRenderer {
|
|
|
// if the source or destination are a 3d target then a layer needs to be bound
|
|
|
if ( isSrc3D ) {
|
|
|
|
|
|
- _gl.framebufferTextureLayer( _gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, properties.get( srcTexture ).__webglTexture, level, minZ + i );
|
|
|
+ _gl.framebufferTextureLayer( _gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, properties.get( srcTexture ).__webglTexture, srcLevel, minZ + i );
|
|
|
+ _gl.framebufferTextureLayer( _gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, properties.get( dstTexture ).__webglTexture, dstLevel, dstZ + i );
|
|
|
|
|
|
}
|
|
|
|
|
|
- if ( srcTexture.isDepthTexture ) {
|
|
|
+ _gl.blitFramebuffer( minX, minY, width, height, dstX, dstY, width, height, _gl.DEPTH_BUFFER_BIT, _gl.NEAREST );
|
|
|
|
|
|
- if ( isDst3D ) {
|
|
|
+ }
|
|
|
|
|
|
- _gl.framebufferTextureLayer( _gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, properties.get( dstTexture ).__webglTexture, level, dstZ + i );
|
|
|
+ state.bindFramebuffer( _gl.READ_FRAMEBUFFER, null );
|
|
|
+ state.bindFramebuffer( _gl.DRAW_FRAMEBUFFER, null );
|
|
|
|
|
|
- }
|
|
|
+ } else if ( srcLevel !== 0 || srcTexture.isRenderTargetTexture || properties.has( srcTexture ) ) {
|
|
|
+
|
|
|
+ // get the appropriate frame buffers
|
|
|
+ const srcTextureProperties = properties.get( srcTexture );
|
|
|
+ const dstTextureProperties = properties.get( dstTexture );
|
|
|
+
|
|
|
+ // bind the frame buffer targets
|
|
|
+ state.bindFramebuffer( _gl.READ_FRAMEBUFFER, _srcFramebuffer );
|
|
|
+ state.bindFramebuffer( _gl.DRAW_FRAMEBUFFER, _dstFramebuffer );
|
|
|
+
|
|
|
+ for ( let i = 0; i < depth; i ++ ) {
|
|
|
+
|
|
|
+ // assign the correct layers and mip maps to the frame buffers
|
|
|
+ if ( isSrc3D ) {
|
|
|
+
|
|
|
+ _gl.framebufferTextureLayer( _gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, srcTextureProperties.__webglTexture, srcLevel, minZ + i );
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ _gl.framebufferTexture2D( _gl.READ_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D, srcTextureProperties.__webglTexture, srcLevel );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( isDst3D ) {
|
|
|
+
|
|
|
+ _gl.framebufferTextureLayer( _gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, dstTextureProperties.__webglTexture, dstLevel, dstZ + i );
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ _gl.framebufferTexture2D( _gl.DRAW_FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D, dstTextureProperties.__webglTexture, dstLevel );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // copy the data using the fastest function that can achieve the copy
|
|
|
+ if ( srcLevel !== 0 ) {
|
|
|
|
|
|
- _gl.blitFramebuffer( minX, minY, width, height, dstX, dstY, width, height, _gl.DEPTH_BUFFER_BIT, _gl.NEAREST );
|
|
|
+ _gl.blitFramebuffer( minX, minY, width, height, dstX, dstY, width, height, _gl.COLOR_BUFFER_BIT, _gl.NEAREST );
|
|
|
|
|
|
} else if ( isDst3D ) {
|
|
|
|
|
|
- _gl.copyTexSubImage3D( glTarget, level, dstX, dstY, dstZ + i, minX, minY, width, height );
|
|
|
+ _gl.copyTexSubImage3D( glTarget, dstLevel, dstX, dstY, dstZ + i, minX, minY, width, height );
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- _gl.copyTexSubImage2D( glTarget, level, dstX, dstY, dstZ + i, minX, minY, width, height );
|
|
|
+ _gl.copyTexSubImage2D( glTarget, dstLevel, dstX, dstY, minX, minY, width, height );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // unbind read, draw buffers
|
|
|
state.bindFramebuffer( _gl.READ_FRAMEBUFFER, null );
|
|
|
state.bindFramebuffer( _gl.DRAW_FRAMEBUFFER, null );
|
|
|
|
|
|
@@ -31573,15 +31614,15 @@ class WebGLRenderer {
|
|
|
// copy data into the 3d texture
|
|
|
if ( srcTexture.isDataTexture || srcTexture.isData3DTexture ) {
|
|
|
|
|
|
- _gl.texSubImage3D( glTarget, level, dstX, dstY, dstZ, width, height, depth, glFormat, glType, image.data );
|
|
|
+ _gl.texSubImage3D( glTarget, dstLevel, dstX, dstY, dstZ, width, height, depth, glFormat, glType, image.data );
|
|
|
|
|
|
} else if ( dstTexture.isCompressedArrayTexture ) {
|
|
|
|
|
|
- _gl.compressedTexSubImage3D( glTarget, level, dstX, dstY, dstZ, width, height, depth, glFormat, image.data );
|
|
|
+ _gl.compressedTexSubImage3D( glTarget, dstLevel, dstX, dstY, dstZ, width, height, depth, glFormat, image.data );
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- _gl.texSubImage3D( glTarget, level, dstX, dstY, dstZ, width, height, depth, glFormat, glType, image );
|
|
|
+ _gl.texSubImage3D( glTarget, dstLevel, dstX, dstY, dstZ, width, height, depth, glFormat, glType, image );
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -31590,15 +31631,15 @@ class WebGLRenderer {
|
|
|
// copy data into the 2d texture
|
|
|
if ( srcTexture.isDataTexture ) {
|
|
|
|
|
|
- _gl.texSubImage2D( _gl.TEXTURE_2D, level, dstX, dstY, width, height, glFormat, glType, image.data );
|
|
|
+ _gl.texSubImage2D( _gl.TEXTURE_2D, dstLevel, dstX, dstY, width, height, glFormat, glType, image.data );
|
|
|
|
|
|
} else if ( srcTexture.isCompressedTexture ) {
|
|
|
|
|
|
- _gl.compressedTexSubImage2D( _gl.TEXTURE_2D, level, dstX, dstY, image.width, image.height, glFormat, image.data );
|
|
|
+ _gl.compressedTexSubImage2D( _gl.TEXTURE_2D, dstLevel, dstX, dstY, image.width, image.height, glFormat, image.data );
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- _gl.texSubImage2D( _gl.TEXTURE_2D, level, dstX, dstY, width, height, glFormat, glType, image );
|
|
|
+ _gl.texSubImage2D( _gl.TEXTURE_2D, dstLevel, dstX, dstY, width, height, glFormat, glType, image );
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -31614,7 +31655,7 @@ class WebGLRenderer {
|
|
|
_gl.pixelStorei( _gl.UNPACK_SKIP_IMAGES, currentUnpackSkipImages );
|
|
|
|
|
|
// Generate mipmaps only when copying level 0
|
|
|
- if ( level === 0 && dstTexture.generateMipmaps ) {
|
|
|
+ if ( dstLevel === 0 && dstTexture.generateMipmaps ) {
|
|
|
|
|
|
_gl.generateMipmap( glTarget );
|
|
|
|
|
|
@@ -32364,18 +32405,14 @@ class InterleavedBufferAttribute {
|
|
|
|
|
|
class SpriteMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'SpriteMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isSpriteMaterial = true;
|
|
|
|
|
|
+ this.type = 'SpriteMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff );
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -35048,18 +35085,14 @@ class BatchedMesh extends Mesh {
|
|
|
|
|
|
class LineBasicMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'LineBasicMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isLineBasicMaterial = true;
|
|
|
|
|
|
+ this.type = 'LineBasicMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff );
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -35397,18 +35430,14 @@ class LineLoop extends Line {
|
|
|
|
|
|
class PointsMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'PointsMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isPointsMaterial = true;
|
|
|
|
|
|
+ this.type = 'PointsMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff );
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -41765,18 +41794,14 @@ var Geometries = /*#__PURE__*/Object.freeze({
|
|
|
|
|
|
class ShadowMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'ShadowMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isShadowMaterial = true;
|
|
|
|
|
|
+ this.type = 'ShadowMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0x000000 );
|
|
|
this.transparent = true;
|
|
|
|
|
|
@@ -41802,36 +41827,28 @@ class ShadowMaterial extends Material {
|
|
|
|
|
|
class RawShaderMaterial extends ShaderMaterial {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'RawShaderMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super( parameters );
|
|
|
|
|
|
this.isRawShaderMaterial = true;
|
|
|
|
|
|
+ this.type = 'RawShaderMaterial';
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
class MeshStandardMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshStandardMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshStandardMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshStandardMaterial';
|
|
|
+
|
|
|
this.defines = { 'STANDARD': '' };
|
|
|
|
|
|
this.color = new Color( 0xffffff ); // diffuse
|
|
|
@@ -41944,12 +41961,6 @@ class MeshStandardMaterial extends Material {
|
|
|
|
|
|
class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshPhysicalMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
@@ -41963,6 +41974,8 @@ class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
|
|
|
};
|
|
|
|
|
|
+ this.type = 'MeshPhysicalMaterial';
|
|
|
+
|
|
|
this.anisotropyRotation = 0;
|
|
|
this.anisotropyMap = null;
|
|
|
|
|
|
@@ -42186,18 +42199,14 @@ class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
|
|
|
class MeshPhongMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshPhongMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshPhongMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshPhongMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff ); // diffuse
|
|
|
this.specular = new Color( 0x111111 );
|
|
|
this.shininess = 30;
|
|
|
@@ -42231,6 +42240,7 @@ class MeshPhongMaterial extends Material {
|
|
|
|
|
|
this.envMap = null;
|
|
|
this.envMapRotation = new Euler();
|
|
|
+
|
|
|
this.combine = MultiplyOperation;
|
|
|
this.reflectivity = 1;
|
|
|
this.refractionRatio = 0.98;
|
|
|
@@ -42306,12 +42316,6 @@ class MeshPhongMaterial extends Material {
|
|
|
|
|
|
class MeshToonMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshToonMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
@@ -42320,6 +42324,8 @@ class MeshToonMaterial extends Material {
|
|
|
|
|
|
this.defines = { 'TOON': '' };
|
|
|
|
|
|
+ this.type = 'MeshToonMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff );
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -42406,18 +42412,14 @@ class MeshToonMaterial extends Material {
|
|
|
|
|
|
class MeshNormalMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshNormalMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshNormalMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshNormalMaterial';
|
|
|
+
|
|
|
this.bumpMap = null;
|
|
|
this.bumpScale = 1;
|
|
|
|
|
|
@@ -42466,18 +42468,14 @@ class MeshNormalMaterial extends Material {
|
|
|
|
|
|
class MeshLambertMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshLambertMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isMeshLambertMaterial = true;
|
|
|
|
|
|
+ this.type = 'MeshLambertMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff ); // diffuse
|
|
|
|
|
|
this.map = null;
|
|
|
@@ -42582,12 +42580,6 @@ class MeshLambertMaterial extends Material {
|
|
|
|
|
|
class MeshMatcapMaterial extends Material {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'MeshMatcapMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
@@ -42596,6 +42588,8 @@ class MeshMatcapMaterial extends Material {
|
|
|
|
|
|
this.defines = { 'MATCAP': '' };
|
|
|
|
|
|
+ this.type = 'MeshMatcapMaterial';
|
|
|
+
|
|
|
this.color = new Color( 0xffffff ); // diffuse
|
|
|
|
|
|
this.matcap = null;
|
|
|
@@ -42661,17 +42655,12 @@ class MeshMatcapMaterial extends Material {
|
|
|
|
|
|
class LineDashedMaterial extends LineBasicMaterial {
|
|
|
|
|
|
- static get type() {
|
|
|
-
|
|
|
- return 'LineDashedMaterial';
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
constructor( parameters ) {
|
|
|
|
|
|
super();
|
|
|
|
|
|
this.isLineDashedMaterial = true;
|
|
|
+ this.type = 'LineDashedMaterial';
|
|
|
|
|
|
this.scale = 1;
|
|
|
this.dashSize = 3;
|