Browse Source

WebGLProgram: Simpler approach to clean up shader. Inspired by @tschw' #6557.

Mr.doob 10 years ago
parent
commit
9b8ff14150
1 changed files with 7 additions and 12 deletions
  1. 7 12
      src/renderers/webgl/WebGLProgram.js

+ 7 - 12
src/renderers/webgl/WebGLProgram.js

@@ -50,15 +50,9 @@ THREE.WebGLProgram = ( function () {
 
 	}
 
-	function programArrayToString( previousValue, currentValue, index, array ) {
+	function filterEmptyLine( string ) {
 
-		if ( currentValue !== '' && currentValue !== undefined && currentValue !== null ) {
-
-			return previousValue + currentValue + '\n';
-
-		}
-
-		return previousValue;
+		return string !== '';
 
 	}
 
@@ -272,9 +266,9 @@ THREE.WebGLProgram = ( function () {
 
 				'#endif',
 
-				''
+				'\n'
 
-			].reduce( programArrayToString, '' );
+			].filter( filterEmptyLine ).join( '\n' );
 
 			prefix_fragment = [
 
@@ -330,9 +324,10 @@ THREE.WebGLProgram = ( function () {
 
 				'uniform mat4 viewMatrix;',
 				'uniform vec3 cameraPosition;',
-				''
 
-			].reduce( programArrayToString, '' );
+				'\n'
+
+			].filter( filterEmptyLine ).join( '\n' );
 
 		}