@plastic-software/three 0.175.0 → 0.175.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/three.cjs +89 -30
- package/build/three.core.js +7 -2
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +84 -32
- package/build/three.module.min.js +1 -1
- package/build/three.webgpu.js +1 -1
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +1 -1
- package/build/three.webgpu.nodes.min.js +1 -1
- package/package.json +1 -1
- package/src/constants.js +3 -0
- package/src/loaders/ObjectLoader.js +5 -1
- package/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +10 -1
- package/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +8 -1
- package/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +5 -1
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +82 -0
- package/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +22 -2
- package/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +12 -1
- package/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +8 -2
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +31 -11
- package/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +5 -1
- package/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -1
- package/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +12 -1
- package/src/renderers/shaders/ShaderChunk/triplanar_fragment.glsl.js +20 -0
- package/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +52 -7
- package/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +25 -6
- package/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +19 -7
- package/src/renderers/shaders/ShaderChunk.js +2 -0
- package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +2 -0
- package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +1 -0
- package/src/renderers/shaders/UniformsLib.js +5 -1
- package/src/renderers/webgl/WebGLMaterials.js +12 -0
- package/src/renderers/webgl/WebGLProgram.js +25 -5
- package/src/renderers/webgl/WebGLPrograms.js +21 -7
|
@@ -5,6 +5,7 @@ attribute float lineDistance;
|
|
|
5
5
|
varying float vLineDistance;
|
|
6
6
|
|
|
7
7
|
#include <common>
|
|
8
|
+
#include <batching_pars_vertex>
|
|
8
9
|
#include <uv_pars_vertex>
|
|
9
10
|
#include <color_pars_vertex>
|
|
10
11
|
#include <fog_pars_vertex>
|
|
@@ -20,6 +21,7 @@ void main() {
|
|
|
20
21
|
#include <color_vertex>
|
|
21
22
|
#include <morphinstance_vertex>
|
|
22
23
|
#include <morphcolor_vertex>
|
|
24
|
+
#include <batching_vertex>
|
|
23
25
|
#include <begin_vertex>
|
|
24
26
|
#include <morphtarget_vertex>
|
|
25
27
|
#include <project_vertex>
|
|
@@ -168,6 +168,7 @@ void main() {
|
|
|
168
168
|
ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
|
|
169
169
|
vec3 totalEmissiveRadiance = emissive;
|
|
170
170
|
|
|
171
|
+
#include <triplanar_fragment>
|
|
171
172
|
#include <logdepthbuf_fragment>
|
|
172
173
|
#include <map_fragment>
|
|
173
174
|
#include <color_fragment>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Color } from '../../math/Color.js';
|
|
2
2
|
import { Vector2 } from '../../math/Vector2.js';
|
|
3
3
|
import { Matrix3 } from '../../math/Matrix3.js';
|
|
4
|
+
import { Matrix4 } from '../../math/Matrix4.js';
|
|
4
5
|
|
|
5
6
|
// Uniforms library for shared webgl shaders
|
|
6
7
|
const UniformsLib = {
|
|
@@ -16,7 +17,10 @@ const UniformsLib = {
|
|
|
16
17
|
alphaMap: { value: null },
|
|
17
18
|
alphaMapTransform: { value: /*@__PURE__*/ new Matrix3() },
|
|
18
19
|
|
|
19
|
-
alphaTest: { value: 0 }
|
|
20
|
+
alphaTest: { value: 0 },
|
|
21
|
+
|
|
22
|
+
texture3DMatrix: { value: /*@__PURE__*/ new Matrix4() },
|
|
23
|
+
triplanarHardness: { value: 16.0 }
|
|
20
24
|
|
|
21
25
|
},
|
|
22
26
|
|
|
@@ -141,6 +141,18 @@ function WebGLMaterials( renderer, properties ) {
|
|
|
141
141
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
if ( material.texture3DMatrix ) {
|
|
145
|
+
|
|
146
|
+
uniforms.texture3DMatrix.value.copy( material.texture3DMatrix );
|
|
147
|
+
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if ( material.triplanarHardness ) {
|
|
151
|
+
|
|
152
|
+
uniforms.triplanarHardness.value = material.triplanarHardness;
|
|
153
|
+
|
|
154
|
+
}
|
|
155
|
+
|
|
144
156
|
if ( material.alphaMap ) {
|
|
145
157
|
|
|
146
158
|
uniforms.alphaMap.value = material.alphaMap;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WebGLUniforms } from './WebGLUniforms.js';
|
|
2
2
|
import { WebGLShader } from './WebGLShader.js';
|
|
3
3
|
import { ShaderChunk } from '../shaders/ShaderChunk.js';
|
|
4
|
-
import { NoToneMapping, AddOperation, MixOperation, MultiplyOperation, CubeRefractionMapping, CubeUVReflectionMapping, CubeReflectionMapping, PCFSoftShadowMap, PCFShadowMap, VSMShadowMap, AgXToneMapping, ACESFilmicToneMapping, NeutralToneMapping, CineonToneMapping, CustomToneMapping, ReinhardToneMapping, LinearToneMapping, GLSL3, LinearTransfer, SRGBTransfer } from '../../constants.js';
|
|
4
|
+
import { NoToneMapping, AddOperation, MixOperation, MultiplyOperation, CubeRefractionMapping, CubeUVReflectionMapping, CubeReflectionMapping, PCFSoftShadowMap, PCFShadowMap, VSMShadowMap, AgXToneMapping, ACESFilmicToneMapping, NeutralToneMapping, CineonToneMapping, CustomToneMapping, ReinhardToneMapping, LinearToneMapping, GLSL3, LinearTransfer, SRGBTransfer, TriPlanarMapping, CylindricalMapping, UVMapping } from '../../constants.js';
|
|
5
5
|
import { ColorManagement } from '../../math/ColorManagement.js';
|
|
6
6
|
import { Vector3 } from '../../math/Vector3.js';
|
|
7
7
|
import { Matrix3 } from '../../math/Matrix3.js';
|
|
@@ -552,14 +552,17 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
552
552
|
parameters.useFog && parameters.fogExp2 ? '#define FOG_EXP2' : '',
|
|
553
553
|
|
|
554
554
|
parameters.map ? '#define USE_MAP' : '',
|
|
555
|
+
parameters.mapMode === TriPlanarMapping ? '#define USE_MAP_TRIPLANAR' : parameters.mapMode === CylindricalMapping ? '#define USE_MAP_CYLINDRICAL' : parameters.mapMode === UVMapping ? '#define USE_MAP_UV' : '',
|
|
555
556
|
parameters.envMap ? '#define USE_ENVMAP' : '',
|
|
556
557
|
parameters.envMap ? '#define ' + envMapModeDefine : '',
|
|
557
558
|
parameters.lightMap ? '#define USE_LIGHTMAP' : '',
|
|
558
559
|
parameters.aoMap ? '#define USE_AOMAP' : '',
|
|
560
|
+
parameters.aoMapMode === TriPlanarMapping ? '#define USE_AOMAP_TRIPLANAR' : parameters.aoMapMode === CylindricalMapping ? '#define USE_AOMAP_CYLINDRICAL' : parameters.aoMapMode == UVMapping ? '#define USE_AOMAP_UV' : '',
|
|
559
561
|
parameters.bumpMap ? '#define USE_BUMPMAP' : '',
|
|
560
562
|
parameters.normalMap ? '#define USE_NORMALMAP' : '',
|
|
561
|
-
parameters.
|
|
562
|
-
parameters.
|
|
563
|
+
parameters.normalMapMode === TriPlanarMapping ? '#define USE_NORMALMAP_TRIPLANAR' : parameters.normalMapMode === CylindricalMapping ? '#define USE_NORMALMAP_CYLINDRICAL' : parameters.normalMapMode === UVMapping ? '#define USE_NORMALMAP_UV' : '',
|
|
564
|
+
parameters.normalMapObjectSpace && [UVMapping, CylindricalMapping].includes( parameters.normalMapMode ) ? '#define USE_NORMALMAP_OBJECTSPACE' : '',
|
|
565
|
+
parameters.normalMapTangentSpace && [UVMapping, CylindricalMapping].includes( parameters.normalMapMode ) ? '#define USE_NORMALMAP_TANGENTSPACE' : '',
|
|
563
566
|
parameters.displacementMap ? '#define USE_DISPLACEMENTMAP' : '',
|
|
564
567
|
parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '',
|
|
565
568
|
|
|
@@ -569,6 +572,9 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
569
572
|
parameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',
|
|
570
573
|
parameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',
|
|
571
574
|
parameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',
|
|
575
|
+
parameters.clearcoatNormalMapMode === TriPlanarMapping ? '#define USE_CLEARCOAT_NORMALMAP_TRIPLANAR'
|
|
576
|
+
: parameters.clearcoatNormalMapMode === CylindricalMapping ? '#define USE_CLEARCOAT_NORMALMAP_CYLINDRICAL'
|
|
577
|
+
: parameters.clearcoatNormalMapMode === UVMapping ? '#define USE_CLEARCOAT_NORMALMAP_UV' : '',
|
|
572
578
|
|
|
573
579
|
parameters.iridescenceMap ? '#define USE_IRIDESCENCEMAP' : '',
|
|
574
580
|
parameters.iridescenceThicknessMap ? '#define USE_IRIDESCENCE_THICKNESSMAP' : '',
|
|
@@ -578,8 +584,11 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
578
584
|
parameters.specularIntensityMap ? '#define USE_SPECULAR_INTENSITYMAP' : '',
|
|
579
585
|
|
|
580
586
|
parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
|
|
587
|
+
parameters.roughnessMapMode === TriPlanarMapping ? '#define USE_ROUGHNESSMAP_TRIPLANAR' : parameters.roughnessMapMode === CylindricalMapping ? '#define USE_ROUGHNESSMAP_CYLINDRICAL' : parameters.roughnessMapMode === UVMapping ? '#define USE_ROUGHNESSMAP_UV' : '',
|
|
581
588
|
parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
|
|
589
|
+
parameters.metalnessMapMode === TriPlanarMapping ? '#define USE_METALNESSMAP_TRIPLANAR' : parameters.metalnessMapMode === CylindricalMapping ? '#define USE_METALNESSMAP_CYLINDRICAL' : parameters.metalnessMapMode === UVMapping ? '#define USE_METALNESSMAP_UV' : '',
|
|
582
590
|
parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
|
|
591
|
+
parameters.alphaMapMode === TriPlanarMapping ? '#define USE_ALPHAMAP_TRIPLANAR' : parameters.alphaMapMode === CylindricalMapping ? '#define USE_ALPHAMAP_CYLINDRICAL' : parameters.alphaMapMode === UVMapping ? '#define USE_ALPHAMAP_UV' : '',
|
|
583
592
|
parameters.alphaHash ? '#define USE_ALPHAHASH' : '',
|
|
584
593
|
|
|
585
594
|
parameters.transmission ? '#define USE_TRANSMISSION' : '',
|
|
@@ -744,6 +753,7 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
744
753
|
|
|
745
754
|
parameters.alphaToCoverage ? '#define ALPHA_TO_COVERAGE' : '',
|
|
746
755
|
parameters.map ? '#define USE_MAP' : '',
|
|
756
|
+
parameters.mapMode === TriPlanarMapping ? '#define USE_MAP_TRIPLANAR' : parameters.mapMode === CylindricalMapping ? '#define USE_MAP_CYLINDRICAL' : parameters.mapMode === UVMapping ? '#define USE_MAP_UV' : '',
|
|
747
757
|
parameters.matcap ? '#define USE_MATCAP' : '',
|
|
748
758
|
parameters.envMap ? '#define USE_ENVMAP' : '',
|
|
749
759
|
parameters.envMap ? '#define ' + envMapTypeDefine : '',
|
|
@@ -754,10 +764,12 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
754
764
|
envMapCubeUVSize ? '#define CUBEUV_MAX_MIP ' + envMapCubeUVSize.maxMip + '.0' : '',
|
|
755
765
|
parameters.lightMap ? '#define USE_LIGHTMAP' : '',
|
|
756
766
|
parameters.aoMap ? '#define USE_AOMAP' : '',
|
|
767
|
+
parameters.aoMapMode === TriPlanarMapping ? '#define USE_AOMAP_TRIPLANAR' : parameters.aoMapMode === CylindricalMapping ? '#define USE_AOMAP_CYLINDRICAL' : parameters.aoMapMode == UVMapping ? '#define USE_AOMAP_UV' : '',
|
|
757
768
|
parameters.bumpMap ? '#define USE_BUMPMAP' : '',
|
|
758
769
|
parameters.normalMap ? '#define USE_NORMALMAP' : '',
|
|
759
|
-
parameters.
|
|
760
|
-
parameters.
|
|
770
|
+
parameters.normalMapMode === TriPlanarMapping ? '#define USE_NORMALMAP_TRIPLANAR' : parameters.normalMapMode === CylindricalMapping ? '#define USE_NORMALMAP_CYLINDRICAL' : parameters.normalMapMode === UVMapping ? '#define USE_NORMALMAP_UV' : '',
|
|
771
|
+
parameters.normalMapObjectSpace && [UVMapping, CylindricalMapping].includes( parameters.normalMapMode ) ? '#define USE_NORMALMAP_OBJECTSPACE' : '',
|
|
772
|
+
parameters.normalMapTangentSpace && [UVMapping, CylindricalMapping].includes( parameters.normalMapMode ) ? '#define USE_NORMALMAP_TANGENTSPACE' : '',
|
|
761
773
|
parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '',
|
|
762
774
|
|
|
763
775
|
parameters.anisotropy ? '#define USE_ANISOTROPY' : '',
|
|
@@ -767,6 +779,9 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
767
779
|
parameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '',
|
|
768
780
|
parameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '',
|
|
769
781
|
parameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '',
|
|
782
|
+
parameters.clearcoatNormalMapMode === TriPlanarMapping ? '#define USE_CLEARCOAT_NORMALMAP_TRIPLANAR'
|
|
783
|
+
: parameters.clearcoatNormalMapMode === CylindricalMapping ? '#define USE_CLEARCOAT_NORMALMAP_CYLINDRICAL'
|
|
784
|
+
: parameters.clearcoatNormalMapMode === UVMapping ? '#define USE_CLEARCOAT_NORMALMAP_UV' : '',
|
|
770
785
|
|
|
771
786
|
parameters.dispersion ? '#define USE_DISPERSION' : '',
|
|
772
787
|
|
|
@@ -779,9 +794,12 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
779
794
|
parameters.specularIntensityMap ? '#define USE_SPECULAR_INTENSITYMAP' : '',
|
|
780
795
|
|
|
781
796
|
parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
|
|
797
|
+
parameters.roughnessMapMode === TriPlanarMapping ? '#define USE_ROUGHNESSMAP_TRIPLANAR' : parameters.roughnessMapMode === CylindricalMapping ? '#define USE_ROUGHNESSMAP_CYLINDRICAL' : parameters.roughnessMapMode === UVMapping ? '#define USE_ROUGHNESSMAP_UV' : '',
|
|
782
798
|
parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
|
|
799
|
+
parameters.metalnessMapMode === TriPlanarMapping ? '#define USE_METALNESSMAP_TRIPLANAR' : parameters.metalnessMapMode === CylindricalMapping ? '#define USE_METALNESSMAP_CYLINDRICAL' : parameters.metalnessMapMode === UVMapping ? '#define USE_METALNESSMAP_UV' : '',
|
|
783
800
|
|
|
784
801
|
parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
|
|
802
|
+
parameters.alphaMapMode === TriPlanarMapping ? '#define USE_ALPHAMAP_TRIPLANAR' : parameters.alphaMapMode === CylindricalMapping ? '#define USE_ALPHAMAP_CYLINDRICAL' : parameters.alphaMapMode === UVMapping ? '#define USE_ALPHAMAP_UV' : '',
|
|
785
803
|
parameters.alphaTest ? '#define USE_ALPHATEST' : '',
|
|
786
804
|
parameters.alphaHash ? '#define USE_ALPHAHASH' : '',
|
|
787
805
|
|
|
@@ -822,7 +840,9 @@ function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) {
|
|
|
822
840
|
parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '',
|
|
823
841
|
parameters.reverseDepthBuffer ? '#define USE_REVERSEDEPTHBUF' : '',
|
|
824
842
|
|
|
843
|
+
'uniform mat4 modelViewMatrix;',
|
|
825
844
|
'uniform mat4 viewMatrix;',
|
|
845
|
+
'uniform mat3 normalMatrix;',
|
|
826
846
|
'uniform vec3 cameraPosition;',
|
|
827
847
|
'uniform bool isOrthographic;',
|
|
828
848
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BackSide, DoubleSide, CubeUVReflectionMapping, ObjectSpaceNormalMap, TangentSpaceNormalMap, NoToneMapping, NormalBlending, LinearSRGBColorSpace, SRGBTransfer } from '../../constants.js';
|
|
1
|
+
import { BackSide, DoubleSide, CubeUVReflectionMapping, ObjectSpaceNormalMap, TangentSpaceNormalMap, NoToneMapping, NormalBlending, LinearSRGBColorSpace, SRGBTransfer, UVMapping } from '../../constants.js';
|
|
2
2
|
import { Layers } from '../../core/Layers.js';
|
|
3
3
|
import { WebGLProgram } from './WebGLProgram.js';
|
|
4
4
|
import { WebGLShaderCache } from './WebGLShaderCache.js';
|
|
@@ -259,21 +259,27 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
259
259
|
|
|
260
260
|
//
|
|
261
261
|
|
|
262
|
-
mapUv: HAS_MAP && getChannel( material.map.channel ),
|
|
263
|
-
|
|
262
|
+
mapUv: HAS_MAP && material.map.mapping === UVMapping && getChannel( material.map.channel ),
|
|
263
|
+
mapMode: HAS_MAP && material.map.mapping,
|
|
264
|
+
aoMapUv: HAS_AOMAP && material.aoMap.mapping === UVMapping && getChannel( material.aoMap.channel ),
|
|
265
|
+
aoMapMode: HAS_AOMAP && material.aoMap.mapping,
|
|
264
266
|
lightMapUv: HAS_LIGHTMAP && getChannel( material.lightMap.channel ),
|
|
265
267
|
bumpMapUv: HAS_BUMPMAP && getChannel( material.bumpMap.channel ),
|
|
266
|
-
normalMapUv: HAS_NORMALMAP && getChannel( material.normalMap.channel ),
|
|
268
|
+
normalMapUv: HAS_NORMALMAP && material.normalMap.mapping === UVMapping && getChannel( material.normalMap.channel ),
|
|
269
|
+
normalMapMode: HAS_NORMALMAP && material.normalMap.mapping,
|
|
267
270
|
displacementMapUv: HAS_DISPLACEMENTMAP && getChannel( material.displacementMap.channel ),
|
|
268
271
|
emissiveMapUv: HAS_EMISSIVEMAP && getChannel( material.emissiveMap.channel ),
|
|
269
272
|
|
|
270
|
-
metalnessMapUv: HAS_METALNESSMAP && getChannel( material.metalnessMap.channel ),
|
|
271
|
-
|
|
273
|
+
metalnessMapUv: HAS_METALNESSMAP && material.metalnessMap.mapping === UVMapping && getChannel( material.metalnessMap.channel ),
|
|
274
|
+
metalnessMapMode: HAS_METALNESSMAP && material.metalnessMap.mapping,
|
|
275
|
+
roughnessMapUv: HAS_ROUGHNESSMAP && material.roughnessMap.mapping === UVMapping && getChannel( material.roughnessMap.channel ),
|
|
276
|
+
roughnessMapMode: HAS_ROUGHNESSMAP && material.roughnessMap.mapping,
|
|
272
277
|
|
|
273
278
|
anisotropyMapUv: HAS_ANISOTROPYMAP && getChannel( material.anisotropyMap.channel ),
|
|
274
279
|
|
|
275
280
|
clearcoatMapUv: HAS_CLEARCOATMAP && getChannel( material.clearcoatMap.channel ),
|
|
276
281
|
clearcoatNormalMapUv: HAS_CLEARCOAT_NORMALMAP && getChannel( material.clearcoatNormalMap.channel ),
|
|
282
|
+
clearcoatNormalMapMode: HAS_CLEARCOAT_NORMALMAP && material.clearcoatNormalMap.mapping,
|
|
277
283
|
clearcoatRoughnessMapUv: HAS_CLEARCOAT_ROUGHNESSMAP && getChannel( material.clearcoatRoughnessMap.channel ),
|
|
278
284
|
|
|
279
285
|
iridescenceMapUv: HAS_IRIDESCENCEMAP && getChannel( material.iridescenceMap.channel ),
|
|
@@ -289,7 +295,8 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
289
295
|
transmissionMapUv: HAS_TRANSMISSIONMAP && getChannel( material.transmissionMap.channel ),
|
|
290
296
|
thicknessMapUv: HAS_THICKNESSMAP && getChannel( material.thicknessMap.channel ),
|
|
291
297
|
|
|
292
|
-
alphaMapUv: HAS_ALPHAMAP && getChannel( material.alphaMap.channel ),
|
|
298
|
+
alphaMapUv: HAS_ALPHAMAP && material.alphaMap.mapping === UVMapping && getChannel( material.alphaMap.channel ),
|
|
299
|
+
alphaMapMode: HAS_ALPHAMAP && material.alphaMap.mapping,
|
|
293
300
|
|
|
294
301
|
//
|
|
295
302
|
|
|
@@ -421,19 +428,26 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
421
428
|
array.push( parameters.outputColorSpace );
|
|
422
429
|
array.push( parameters.envMapMode );
|
|
423
430
|
array.push( parameters.envMapCubeUVHeight );
|
|
431
|
+
array.push( parameters.mapMode );
|
|
424
432
|
array.push( parameters.mapUv );
|
|
433
|
+
array.push( parameters.alphaMapMode );
|
|
425
434
|
array.push( parameters.alphaMapUv );
|
|
426
435
|
array.push( parameters.lightMapUv );
|
|
427
436
|
array.push( parameters.aoMapUv );
|
|
437
|
+
array.push( parameters.aoMapMode );
|
|
428
438
|
array.push( parameters.bumpMapUv );
|
|
429
439
|
array.push( parameters.normalMapUv );
|
|
440
|
+
array.push( parameters.normalMapMode );
|
|
430
441
|
array.push( parameters.displacementMapUv );
|
|
431
442
|
array.push( parameters.emissiveMapUv );
|
|
432
443
|
array.push( parameters.metalnessMapUv );
|
|
444
|
+
array.push( parameters.metalnessMapMode );
|
|
433
445
|
array.push( parameters.roughnessMapUv );
|
|
446
|
+
array.push( parameters.roughnessMapMode );
|
|
434
447
|
array.push( parameters.anisotropyMapUv );
|
|
435
448
|
array.push( parameters.clearcoatMapUv );
|
|
436
449
|
array.push( parameters.clearcoatNormalMapUv );
|
|
450
|
+
array.push( parameters.clearcoatNormalMapMode);
|
|
437
451
|
array.push( parameters.clearcoatRoughnessMapUv );
|
|
438
452
|
array.push( parameters.iridescenceMapUv );
|
|
439
453
|
array.push( parameters.iridescenceThicknessMapUv );
|