Use Closure logging infrastructure for WebGL errors

This commit is contained in:
Tom Payne
2012-07-28 16:01:38 +02:00
parent b88c4f5888
commit 7144e7ad0b
+15 -2
View File
@@ -7,6 +7,7 @@
goog.provide('ol.webgl.Map'); goog.provide('ol.webgl.Map');
goog.provide('ol.webgl.map.shader'); goog.provide('ol.webgl.map.shader');
goog.require('goog.debug.Logger');
goog.require('goog.dispose'); goog.require('goog.dispose');
goog.require('goog.dom'); goog.require('goog.dom');
goog.require('goog.dom.TagName'); goog.require('goog.dom.TagName');
@@ -24,6 +25,14 @@ goog.require('ol.webgl.shader.Fragment');
goog.require('ol.webgl.shader.Vertex'); goog.require('ol.webgl.shader.Vertex');
if (goog.DEBUG) {
/**
* @type {goog.debug.Logger}
*/
ol.webgl.map.logger = goog.debug.Logger.getLogger('ol.webgl.map');
}
/** /**
* @constructor * @constructor
@@ -286,12 +295,14 @@ ol.webgl.Map.prototype.getProgram = function(
gl.attachShader(program, this.getShader(fragmentShaderObject)); gl.attachShader(program, this.getShader(fragmentShaderObject));
gl.attachShader(program, this.getShader(vertexShaderObject)); gl.attachShader(program, this.getShader(vertexShaderObject));
gl.linkProgram(program); gl.linkProgram(program);
if (goog.DEBUG) {
if (!gl.getProgramParameter(program, goog.webgl.LINK_STATUS) && if (!gl.getProgramParameter(program, goog.webgl.LINK_STATUS) &&
!gl.isContextLost()) { !gl.isContextLost()) {
window.console.log(gl.getProgramInfoLog(program)); ol.webgl.map.logger.severe(gl.getProgramInfoLog(program));
goog.asserts.assert( goog.asserts.assert(
gl.getProgramParameter(program, goog.webgl.LINK_STATUS)); gl.getProgramParameter(program, goog.webgl.LINK_STATUS));
} }
}
this.programCache_[key] = program; this.programCache_[key] = program;
return program; return program;
} }
@@ -311,12 +322,14 @@ ol.webgl.Map.prototype.getShader = function(shaderObject) {
var shader = gl.createShader(shaderObject.getType()); var shader = gl.createShader(shaderObject.getType());
gl.shaderSource(shader, shaderObject.getSource()); gl.shaderSource(shader, shaderObject.getSource());
gl.compileShader(shader); gl.compileShader(shader);
if (goog.DEBUG) {
if (!gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS) && if (!gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS) &&
!gl.isContextLost()) { !gl.isContextLost()) {
window.console.log(gl.getShaderInfoLog(shader)); ol.webgl.map.logger.severe(gl.getShaderInfoLog(shader));
goog.asserts.assert( goog.asserts.assert(
gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS)); gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS));
} }
}
this.shaderCache_[key] = shader; this.shaderCache_[key] = shader;
return shader; return shader;
} }