提交 3ea6feb8 编写于 作者: T tschw

WebGLProgram: Compilation errors go to .diagnostics.

上级 8a2c4799
......@@ -379,22 +379,52 @@ THREE.WebGLProgram = ( function () {
gl.linkProgram( program );
var programLogInfo = gl.getProgramInfoLog( program );
var vertexErrorLogInfo = gl.getShaderInfoLog( glVertexShader );
var fragmentErrorLogInfo = gl.getShaderInfoLog( glFragmentShader );
var programLog = gl.getProgramInfoLog( program );
var vertexLog = gl.getShaderInfoLog( glVertexShader );
var fragmentLog = gl.getShaderInfoLog( glFragmentShader );
var runnable = true;
var haveDiagnostics = true;
if ( gl.getProgramParameter( program, gl.LINK_STATUS ) === false ) {
console.error( 'THREE.WebGLProgram: shader error: ', gl.getError(), 'gl.VALIDATE_STATUS', gl.getProgramParameter( program, gl.VALIDATE_STATUS ), 'gl.getProgramInfoLog', programLogInfo, vertexErrorLogInfo, fragmentErrorLogInfo );
runnable = false;
console.error( 'THREE.WebGLProgram: shader error: ', gl.getError(), 'gl.VALIDATE_STATUS', gl.getProgramParameter( program, gl.VALIDATE_STATUS ), 'gl.getProgramInfoLog', programLog, vertexLog, fragmentLog );
} else if ( programLog !== '' ) {
console.warn( 'THREE.WebGLProgram: gl.getProgramInfoLog()', programLog );
} else if ( vertexLog === '' || fragmentLog === '' ) {
haveDiagnostics = false;
}
else if ( programLogInfo !== '' ) {
if ( haveDiagnostics ) this.diagnostics = {
runnable: runnable,
material: material,
programLog: programLog,
console.warn( 'THREE.WebGLProgram: gl.getProgramInfoLog()', programLogInfo );
vertexShader: {
log: vertexLog,
prefix: prefixVertex
},
fragmentShader: {
log: fragmentLog,
prefix: prefixFragment
}
};
// clean up
gl.deleteShader( glVertexShader );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册