Snapshot WebGL renderer

This commit is contained in:
Tom Payne
2012-07-15 16:32:00 +02:00
parent 1d567bb2bf
commit 582a9e93e0
9 changed files with 70 additions and 473 deletions

View File

@@ -324,14 +324,32 @@ ol.webgl.Map.prototype.handleWebGLContextRestored = function() {
/**
* @protected
* @inheritDoc
*/
ol.webgl.Map.prototype.redraw = function() {
ol.webgl.Map.prototype.redrawInternal = function() {
goog.base(this, 'redraw');
var animate = goog.base(this, 'redrawInternal');
var gl = this.getGL();
gl.clear(goog.webgl.COLOR_BUFFER_BIT);
gl.bindFramebuffer(goog.webgl.FRAMEBUFFER, null);
var program = this.getProgram(this.fragmentShader_, this.vertexShader_);
gl.useProgram(program);
this.forEachLayer(function(layer) {
if (!layer.getVisible()) {
return;
}
var layerRenderer = /** @type {ol.webgl.LayerRenderer} */ (
this.getLayerRenderer(layer));
goog.asserts.assert(goog.isDefAndNotNull(layerRenderer));
layerRenderer.redraw();
gl.bindTexture(goog.webgl.TEXTURE0, layerRenderer.getTexture());
}, this);
return animate;
};