|
@@ -121,11 +121,14 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
const HAS_METALNESSMAP = !! material.metalnessMap;
|
|
const HAS_METALNESSMAP = !! material.metalnessMap;
|
|
const HAS_ROUGHNESSMAP = !! material.roughnessMap;
|
|
const HAS_ROUGHNESSMAP = !! material.roughnessMap;
|
|
|
|
|
|
|
|
+ const HAS_ANISOTROPY = material.anisotropy > 0;
|
|
const HAS_CLEARCOAT = material.clearcoat > 0;
|
|
const HAS_CLEARCOAT = material.clearcoat > 0;
|
|
const HAS_IRIDESCENCE = material.iridescence > 0;
|
|
const HAS_IRIDESCENCE = material.iridescence > 0;
|
|
const HAS_SHEEN = material.sheen > 0;
|
|
const HAS_SHEEN = material.sheen > 0;
|
|
const HAS_TRANSMISSION = material.transmission > 0;
|
|
const HAS_TRANSMISSION = material.transmission > 0;
|
|
|
|
|
|
|
|
+ const HAS_ANISOTROPYMAP = HAS_ANISOTROPY && !! material.anisotropyMap;
|
|
|
|
+
|
|
const HAS_CLEARCOATMAP = HAS_CLEARCOAT && !! material.clearcoatMap;
|
|
const HAS_CLEARCOATMAP = HAS_CLEARCOAT && !! material.clearcoatMap;
|
|
const HAS_CLEARCOAT_NORMALMAP = HAS_CLEARCOAT && !! material.clearcoatNormalMap;
|
|
const HAS_CLEARCOAT_NORMALMAP = HAS_CLEARCOAT && !! material.clearcoatNormalMap;
|
|
const HAS_CLEARCOAT_ROUGHNESSMAP = HAS_CLEARCOAT && !! material.clearcoatRoughnessMap;
|
|
const HAS_CLEARCOAT_ROUGHNESSMAP = HAS_CLEARCOAT && !! material.clearcoatRoughnessMap;
|
|
@@ -198,6 +201,9 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
metalnessMap: HAS_METALNESSMAP,
|
|
metalnessMap: HAS_METALNESSMAP,
|
|
roughnessMap: HAS_ROUGHNESSMAP,
|
|
roughnessMap: HAS_ROUGHNESSMAP,
|
|
|
|
|
|
|
|
+ anisotropy: HAS_ANISOTROPY,
|
|
|
|
+ anisotropyMap: HAS_ANISOTROPYMAP,
|
|
|
|
+
|
|
clearcoat: HAS_CLEARCOAT,
|
|
clearcoat: HAS_CLEARCOAT,
|
|
clearcoatMap: HAS_CLEARCOATMAP,
|
|
clearcoatMap: HAS_CLEARCOATMAP,
|
|
clearcoatNormalMap: HAS_CLEARCOAT_NORMALMAP,
|
|
clearcoatNormalMap: HAS_CLEARCOAT_NORMALMAP,
|
|
@@ -241,6 +247,8 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
metalnessMapUv: HAS_METALNESSMAP && getChannel( material.metalnessMap.channel ),
|
|
metalnessMapUv: HAS_METALNESSMAP && getChannel( material.metalnessMap.channel ),
|
|
roughnessMapUv: HAS_ROUGHNESSMAP && getChannel( material.roughnessMap.channel ),
|
|
roughnessMapUv: HAS_ROUGHNESSMAP && getChannel( material.roughnessMap.channel ),
|
|
|
|
|
|
|
|
+ anisotropyMapUv: HAS_ANISOTROPYMAP && getChannel( material.anisotropyMap.channel ),
|
|
|
|
+
|
|
clearcoatMapUv: HAS_CLEARCOATMAP && getChannel( material.clearcoatMap.channel ),
|
|
clearcoatMapUv: HAS_CLEARCOATMAP && getChannel( material.clearcoatMap.channel ),
|
|
clearcoatNormalMapUv: HAS_CLEARCOAT_NORMALMAP && getChannel( material.clearcoatNormalMap.channel ),
|
|
clearcoatNormalMapUv: HAS_CLEARCOAT_NORMALMAP && getChannel( material.clearcoatNormalMap.channel ),
|
|
clearcoatRoughnessMapUv: HAS_CLEARCOAT_ROUGHNESSMAP && getChannel( material.clearcoatRoughnessMap.channel ),
|
|
clearcoatRoughnessMapUv: HAS_CLEARCOAT_ROUGHNESSMAP && getChannel( material.clearcoatRoughnessMap.channel ),
|
|
@@ -262,7 +270,7 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
|
|
|
//
|
|
//
|
|
|
|
|
|
- vertexTangents: HAS_NORMALMAP && !! geometry.attributes.tangent,
|
|
|
|
|
|
+ vertexTangents: !! geometry.attributes.tangent && ( HAS_NORMALMAP || HAS_ANISOTROPY ),
|
|
vertexColors: material.vertexColors,
|
|
vertexColors: material.vertexColors,
|
|
vertexAlphas: material.vertexColors === true && !! geometry.attributes.color && geometry.attributes.color.itemSize === 4,
|
|
vertexAlphas: material.vertexColors === true && !! geometry.attributes.color && geometry.attributes.color.itemSize === 4,
|
|
vertexUv1s: HAS_ATTRIBUTE_UV1,
|
|
vertexUv1s: HAS_ATTRIBUTE_UV1,
|
|
@@ -394,6 +402,7 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
array.push( parameters.emissiveMapUv );
|
|
array.push( parameters.emissiveMapUv );
|
|
array.push( parameters.metalnessMapUv );
|
|
array.push( parameters.metalnessMapUv );
|
|
array.push( parameters.roughnessMapUv );
|
|
array.push( parameters.roughnessMapUv );
|
|
|
|
+ array.push( parameters.anisotropyMapUv );
|
|
array.push( parameters.clearcoatMapUv );
|
|
array.push( parameters.clearcoatMapUv );
|
|
array.push( parameters.clearcoatNormalMapUv );
|
|
array.push( parameters.clearcoatNormalMapUv );
|
|
array.push( parameters.clearcoatRoughnessMapUv );
|
|
array.push( parameters.clearcoatRoughnessMapUv );
|
|
@@ -467,6 +476,8 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
_programLayers.enable( 15 );
|
|
_programLayers.enable( 15 );
|
|
if ( parameters.vertexTangents )
|
|
if ( parameters.vertexTangents )
|
|
_programLayers.enable( 16 );
|
|
_programLayers.enable( 16 );
|
|
|
|
+ if ( parameters.anisotropy )
|
|
|
|
+ _programLayers.enable( 17 );
|
|
|
|
|
|
array.push( _programLayers.mask );
|
|
array.push( _programLayers.mask );
|
|
_programLayers.disableAll();
|
|
_programLayers.disableAll();
|
|
@@ -607,5 +618,4 @@ function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
export { WebGLPrograms };
|
|
export { WebGLPrograms };
|