Browse Source

WebGLRenderer: Nicer error reporting.

Mr.doob 11 years ago
parent
commit
515dadad34
1 changed files with 12 additions and 4 deletions
  1. 12 4
      src/renderers/WebGLRenderer.js

+ 12 - 4
src/renderers/WebGLRenderer.js

@@ -5398,7 +5398,7 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 	// Shaders
 	// Shaders
 
 
-	function buildProgram ( shaderID, fragmentShader, vertexShader, uniforms, attributes, defines, parameters, index0AttributeName ) {
+	function buildProgram( shaderID, fragmentShader, vertexShader, uniforms, attributes, defines, parameters, index0AttributeName ) {
 
 
 		var p, pl, d, program, code;
 		var p, pl, d, program, code;
 		var chunks = [];
 		var chunks = [];
@@ -5636,10 +5636,18 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 
 		_gl.linkProgram( program );
 		_gl.linkProgram( program );
 
 
-		if ( !_gl.getProgramParameter( program, _gl.LINK_STATUS ) ) {
+		if ( _gl.getProgramParameter( program, _gl.LINK_STATUS ) === false ) {
+
+			console.error( 'Could not initialise shader' );
+			console.error( 'gl.VALIDATE_STATUS', _gl.getProgramParameter( program, _gl.VALIDATE_STATUS ) );
+			console.error( 'gl.getError()', _gl.getError() );
+
+		}
+
+		if ( _gl.getProgramInfoLog( program ) !== '' ) {
+
+			console.error( 'gl.getProgramInfoLog()', _gl.getProgramInfoLog( program ) );
 
 
-			console.error( "Could not initialise shader\n" + "VALIDATE_STATUS: " + _gl.getProgramParameter( program, _gl.VALIDATE_STATUS ) + ", gl error [" + _gl.getError() + "]" );
-			console.error( "Program Info Log: " + _gl.getProgramInfoLog( program ) );
 		}
 		}
 
 
 		// clean up
 		// clean up