浏览代码

glsl clean up

Mr.doob 10 年之前
父节点
当前提交
7f7629ab0d

+ 6 - 12
src/renderers/shaders/ShaderChunk/default_vertex.glsl

@@ -1,21 +1,15 @@
-vec4 mvPosition;
-
 #ifdef USE_SKINNING
 
-	mvPosition = modelViewMatrix * skinned;
-
-#endif
+	vec4 mvPosition = modelViewMatrix * skinned;
 
-#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )
+#elif defined( USE_MORPHTARGETS )
 
-	mvPosition = modelViewMatrix * vec4( morphed, 1.0 );
-
-#endif
+	vec4 mvPosition = modelViewMatrix * vec4( morphed, 1.0 );
 
-#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )
+#else
 
-	mvPosition = modelViewMatrix * vec4( position, 1.0 );
+	vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
 
 #endif
 
-gl_Position = projectionMatrix * mvPosition;
+gl_Position = projectionMatrix * mvPosition;

+ 6 - 12
src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl

@@ -1,20 +1,14 @@
-vec3 objectNormal;
-
 #ifdef USE_SKINNING
 
-	objectNormal = skinnedNormal.xyz;
-
-#endif
+	vec3 objectNormal = skinnedNormal.xyz;
 
-#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )
+#elif defined( USE_MORPHNORMALS )
 
-	objectNormal = morphedNormal;
-
-#endif
+	vec3 objectNormal = morphedNormal;
 
-#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )
+#else
 
-	objectNormal = normal;
+	vec3 objectNormal = normal;
 
 #endif
 
@@ -24,4 +18,4 @@ vec3 objectNormal;
 
 #endif
 
-vec3 transformedNormal = normalMatrix * objectNormal;
+vec3 transformedNormal = normalMatrix * objectNormal;

+ 4 - 6
src/renderers/shaders/ShaderChunk/envmap_fragment.glsl

@@ -1,7 +1,5 @@
 #ifdef USE_ENVMAP
 
-	vec3 reflectVec;
-
 	#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )
 
 		vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );
@@ -13,17 +11,17 @@
 
 		#ifdef ENVMAP_MODE_REFLECTION
 
-			reflectVec = reflect( cameraToVertex, worldNormal );
+			vec3 reflectVec = reflect( cameraToVertex, worldNormal );
 
-		#elif defined( ENVMAP_MODE_REFRACTION )
+		#else
 
-			reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );
+			vec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );
 
 		#endif
 
 	#else
 
-		reflectVec = vReflect;
+		vec3 reflectVec = vReflect;
 
 	#endif
 

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

@@ -9,7 +9,7 @@
 
 		vReflect = reflect( cameraToVertex, worldNormal );
 
-	#elif defined( ENVMAP_MODE_REFRACTION )
+	#else
 
 		vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
 

+ 3 - 7
src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl

@@ -4,18 +4,14 @@
 
 		vec4 worldPosition = modelMatrix * skinned;
 
-	#endif
-
-	#if defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )
+	#elif defined( USE_MORPHTARGETS )
 
 		vec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );
 
-	#endif
-
-	#if ! defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )
+	#else
 
 		vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
 
 	#endif
 
-#endif
+#endif

+ 3 - 4
src/renderers/shaders/ShaderLib.js

@@ -1026,16 +1026,15 @@ THREE.ShaderLib = {
 
 			"	if ( enableReflection ) {",
 
-			"		vec3 vReflect;",
 			"		vec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );",
 
 			"		#ifdef ENVMAP_MODE_REFLECTION",
 
-			"			vReflect = reflect( cameraToVertex, normal );",
+			"			vec3 vReflect = reflect( cameraToVertex, normal );",
 
-			"		#elif defined( ENVMAP_MODE_REFRACTION )",
+			"		#else",
 
-			"			vReflect = refract( cameraToVertex, normal, refractionRatio );",
+			"			vec3 vReflect = refract( cameraToVertex, normal, refractionRatio );",
 
 			"		#endif",
 

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

@@ -345,6 +345,8 @@ THREE.WebGLProgram = ( function () {
 		if ( _gl.getProgramInfoLog( program ) !== '' ) {
 
 			console.warn( 'THREE.WebGLProgram: gl.getProgramInfoLog()', _gl.getProgramInfoLog( program ) );
+			// console.warn( _gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glVertexShader ) );
+			// console.warn( _gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glFragmentShader ) );
 
 		}