Explorar el Código

Revert "Rename specular2 with specular of MeshStandardMaterialSG"

This reverts commit 8053b6f96c2f1daeed514ff1ccb9249316b1867a.
Takahiro hace 8 años
padre
commit
037d33b623

+ 6 - 6
src/materials/MeshStandardMaterialSG.js

@@ -7,11 +7,11 @@ import { Color } from '../math/Color';
  *
  * parameters = {
  *  glossiness: <float>,
- *  specular: <hex>,
+ *  specular2: <hex>,
  *
  *  glossinessMap: new THREE.Texture( <Image> ),
  *
- *  specularMap: new THREE.Texture( <Image> ),
+ *  specular2Map: new THREE.Texture( <Image> ),
  * }
  */
 
@@ -24,11 +24,11 @@ function MeshStandardMaterialSG( parameters ) {
 	this.type = 'MeshStandardMaterialSG';
 
 	this.glossiness = 0.5;
-	this.specular = new Color( 0x111111 );
+	this.specular2 = new Color ( 0x000000 );
 
 	this.glossinessMap = null;
 
-	this.specularMap = null;
+	this.specular2Map = null;
 
 	this.setValues( parameters );
 
@@ -46,11 +46,11 @@ MeshStandardMaterialSG.prototype.copy = function ( source ) {
 	this.defines[ 'STANDARD_SG' ] = '';
 
 	this.glossiness = source.glossiness;
-	this.specular.copy( source.specular );
+	this.speculars.copy( source.specular2 );
 
 	this.glossinessMap = source.glossinessMap;
 
-	this.specularMap = source.specularMap;
+	this.specular2Map = source.specular2Map;
 
 	return this;
 

+ 3 - 3
src/renderers/WebGLRenderer.js

@@ -2201,7 +2201,7 @@ function WebGLRenderer( parameters ) {
 	function refreshUniformsStandardSG( uniforms, material ) {
 
 		uniforms.glossiness.value = material.roughness;
-		uniforms.specular.value.copy( material.specular );
+		uniforms.specular2.value.copy( material.specular2 );
 
 		if ( material.glossinessMap ) {
 
@@ -2209,9 +2209,9 @@ function WebGLRenderer( parameters ) {
 
 		}
 
-		if ( material.specularMap ) {
+		if ( material.specular2Map ) {
 
-			uniforms.specularMap.value = material.specularMap;
+			uniforms.specular2Map.value = material.specular2Map;
 
 		}
 

+ 4 - 0
src/renderers/shaders/ShaderChunk.js

@@ -77,6 +77,8 @@ import skinning_vertex from './ShaderChunk/skinning_vertex.glsl';
 import skinnormal_vertex from './ShaderChunk/skinnormal_vertex.glsl';
 import specularmap_fragment from './ShaderChunk/specularmap_fragment.glsl';
 import specularmap_pars_fragment from './ShaderChunk/specularmap_pars_fragment.glsl';
+import specular2map_fragment from './ShaderChunk/specular2map_fragment.glsl';
+import specular2map_pars_fragment from './ShaderChunk/specular2map_pars_fragment.glsl';
 import tonemapping_fragment from './ShaderChunk/tonemapping_fragment.glsl';
 import tonemapping_pars_fragment from './ShaderChunk/tonemapping_pars_fragment.glsl';
 import uv_pars_fragment from './ShaderChunk/uv_pars_fragment.glsl';
@@ -192,6 +194,8 @@ export var ShaderChunk = {
 	skinnormal_vertex: skinnormal_vertex,
 	specularmap_fragment: specularmap_fragment,
 	specularmap_pars_fragment: specularmap_pars_fragment,
+	specular2map_fragment: specular2map_fragment,
+	specular2map_pars_fragment: specular2map_pars_fragment,
 	tonemapping_fragment: tonemapping_fragment,
 	tonemapping_pars_fragment: tonemapping_pars_fragment,
 	uv_pars_fragment: uv_pars_fragment,

+ 1 - 1
src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl

@@ -3,7 +3,7 @@ PhysicalMaterial material;
 #ifdef STANDARD_SG
 	material.diffuseColor = diffuseColor.rgb;
 	material.specularRoughness = clamp( 1.0 - glossinessFactor, 0.04, 1.0 );
-	material.specularColor = specularFactor.rgb;
+	material.specularColor = specular2Factor.rgb;
 #else
 	material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
 	material.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );

+ 10 - 0
src/renderers/shaders/ShaderChunk/specular2map_fragment.glsl

@@ -0,0 +1,10 @@
+vec3 specular2Factor = specular2;
+
+#ifdef USE_SPECULAR2MAP
+
+	vec4 texelSpecular2 = texture2D( specular2Map, vUv );
+
+	// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture
+	specular2Factor *= texelSpecular2.rgb;
+
+#endif

+ 5 - 0
src/renderers/shaders/ShaderChunk/specular2map_pars_fragment.glsl

@@ -0,0 +1,5 @@
+#ifdef USE_SPECULAR2MAP
+
+	uniform sampler2D specular2Map;
+
+#endif

+ 5 - 18
src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl

@@ -1,25 +1,12 @@
-#ifdef STANDARD_SG
-	vec3 specularFactor = specular;
+float specularStrength;
 
-	#ifdef USE_SPECULARMAP
+#ifdef USE_SPECULARMAP
 
-		vec4 texelSpecular = texture2D( specularMap, vUv );
+	vec4 texelSpecular = texture2D( specularMap, vUv );
+	specularStrength = texelSpecular.r;
 
-		// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture
-		specularFactor *= texelSpecular.rgb;
-
-	#endif
 #else
-	float specularStrength;
-
-	#ifdef USE_SPECULARMAP
-
-		vec4 texelSpecular = texture2D( specularMap, vUv );
-		specularStrength = texelSpecular.r;
-
-	#else
 
-		specularStrength = 1.0;
+	specularStrength = 1.0;
 
-	#endif
 #endif

+ 2 - 1
src/renderers/shaders/ShaderLib.js

@@ -83,6 +83,7 @@ var ShaderLib = {
 			UniformsLib.roughnessmap,
 			UniformsLib.metalnessmap,
 			UniformsLib.glossinessmap,
+			UniformsLib.specular2map,
 			UniformsLib.fog,
 			UniformsLib.lights,
 			{
@@ -90,7 +91,7 @@ var ShaderLib = {
 				roughness: { value: 0.5 },
 				metalness: { value: 0.5 },
 				glossiness: { value: 0.5 },
-				specular: { value: new Color( 0x111111 ) },
+				specular2: { value: new Color( 0x000000 ) },
 				envMapIntensity: { value: 1 } // temporary
 			}
 		] ),

+ 4 - 3
src/renderers/shaders/ShaderLib/meshphysical_frag.glsl

@@ -5,7 +5,7 @@ uniform vec3 emissive;
 
 #ifdef STANDARD_SG
 	uniform float glossiness;
-	uniform vec3 specular;
+	uniform vec3 specular2;
 #else
 	uniform float roughness;
 	uniform float metalness;
@@ -48,7 +48,7 @@ varying vec3 vViewPosition;
 
 #ifdef STANDARD_SG
 	#include <glossinessmap_pars_fragment>
-	#include <specularmap_pars_fragment>
+	#include <specular2map_pars_fragment>
 #else
 	#include <roughnessmap_pars_fragment>
 	#include <metalnessmap_pars_fragment>
@@ -70,10 +70,11 @@ void main() {
 	#include <color_fragment>
 	#include <alphamap_fragment>
 	#include <alphatest_fragment>
+	#include <specularmap_fragment>
 
 	#ifdef STANDARD_SG
 		#include <glossinessmap_fragment>
-		#include <specularmap_fragment>
+		#include <specular2map_fragment>
 	#else
 		#include <roughnessmap_fragment>
 		#include <metalnessmap_fragment>

+ 1 - 0
src/renderers/shaders/ShaderLib/meshphysical_vert.glsl

@@ -17,6 +17,7 @@ varying vec3 vViewPosition;
 #include <morphtarget_pars_vertex>
 #include <skinning_pars_vertex>
 #include <shadowmap_pars_vertex>
+#include <specularmap_pars_fragment>
 #include <logdepthbuf_pars_vertex>
 #include <clipping_planes_pars_vertex>
 

+ 6 - 0
src/renderers/shaders/UniformsLib.js

@@ -93,6 +93,12 @@ var UniformsLib = {
 
 	},
 
+	specular2map: {
+
+		specular2Map: { value: null }
+
+	},
+
 	fog: {
 
 		fogDensity: { value: 0.00025 },

+ 2 - 0
src/renderers/webgl/WebGLProgram.js

@@ -339,6 +339,7 @@ function WebGLProgram( renderer, code, material, parameters ) {
 			parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
 			parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
 			parameters.glossinessMap ? '#define USE_GLOSSINESSMAP' : '',
+			parameters.specular2Map ? '#define USE_SPECULAR2MAP' : '',
 			parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
 			parameters.vertexColors ? '#define USE_COLOR' : '',
 
@@ -447,6 +448,7 @@ function WebGLProgram( renderer, code, material, parameters ) {
 			parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
 			parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
 			parameters.glossinessMap ? '#define USE_GLOSSINESSMAP' : '',
+			parameters.specular2Map ? '#define USE_SPECULAR2MAP' : '',
 			parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
 			parameters.vertexColors ? '#define USE_COLOR' : '',
 

+ 2 - 1
src/renderers/webgl/WebGLPrograms.js

@@ -27,7 +27,7 @@ function WebGLPrograms( renderer, capabilities ) {
 	var parameterNames = [
 		"precision", "supportsVertexTextures", "map", "mapEncoding", "envMap", "envMapMode", "envMapEncoding",
 		"lightMap", "aoMap", "emissiveMap", "emissiveMapEncoding", "bumpMap", "normalMap", "displacementMap", "specularMap",
-		"roughnessMap", "metalnessMap", "gradientMap", "glossinessMap",
+		"roughnessMap", "metalnessMap", "gradientMap", "glossinessMap", "specular2Map",
 		"alphaMap", "combine", "vertexColors", "fog", "useFog", "fogExp",
 		"flatShading", "sizeAttenuation", "logarithmicDepthBuffer", "skinning",
 		"maxBones", "useVertexTexture", "morphTargets", "morphNormals",
@@ -151,6 +151,7 @@ function WebGLPrograms( renderer, capabilities ) {
 			roughnessMap: !! material.roughnessMap,
 			metalnessMap: !! material.metalnessMap,
 			glossinessMap: !! material.glossinessMap,
+			specular2Map: !! material.specular2Map,
 			specularMap: !! material.specularMap,
 			alphaMap: !! material.alphaMap,