Add gutter support to ol.renderer.webgl.TileLayer

This commit is contained in:
Éric Lemoine
2013-12-10 16:58:45 +01:00
parent 5c71ec4922
commit 701b2d63ef
2 changed files with 64 additions and 9 deletions

View File

@@ -130,6 +130,10 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
}
var z = tileGrid.getZForResolution(view2DState.resolution);
var tileResolution = tileGrid.getResolution(z);
var tileSize = tileGrid.getTileSize(z);
var tileGutter = tileSource.getGutter();
var center = view2DState.center;
var extent;
if (tileResolution == view2DState.resolution) {
@@ -150,7 +154,6 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
} else {
var tileRangeSize = tileRange.getSize();
var tileSize = tileGrid.getTileSize(z);
var maxDimension = Math.max(
tileRangeSize[0] * tileSize[0],
@@ -256,7 +259,9 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
framebufferExtentDimension - 1;
goog.vec.Vec4.setFromValues(u_tileOffset, sx, sy, tx, ty);
gl.uniform4fv(this.locations_.u_tileOffset, u_tileOffset);
mapRenderer.bindTileTexture(tile, goog.webgl.LINEAR, goog.webgl.LINEAR);
mapRenderer.bindTileTexture(tile,
tileSize[0], tileSize[1], tileGutter,
goog.webgl.LINEAR, goog.webgl.LINEAR);
gl.drawArrays(goog.webgl.TRIANGLE_STRIP, 0, 4);
}
}
@@ -289,7 +294,8 @@ ol.renderer.webgl.TileLayer.prototype.renderFrame =
tileTextureQueue.enqueue([
tile,
tileGrid.getTileCoordCenter(tile.tileCoord),
tileGrid.getResolution(tile.tileCoord.z)
tileGrid.getResolution(tile.tileCoord.z),
tileSize[0], tileSize[1], tileGutter
]);
}
}, this);