@@ -374,8 +374,8 @@ ol.webgl.TileLayerRenderer.prototype.render = function() {
|
|||||||
var zs = goog.object.getKeys(tilesToDrawByZ);
|
var zs = goog.object.getKeys(tilesToDrawByZ);
|
||||||
goog.array.sort(zs);
|
goog.array.sort(zs);
|
||||||
var uTileOffset = goog.vec.Vec4.createFloat32();
|
var uTileOffset = goog.vec.Vec4.createFloat32();
|
||||||
goog.array.forEach(zs, function(tileZ) {
|
goog.array.forEach(zs, function(z) {
|
||||||
goog.object.forEach(tilesToDrawByZ[tileZ], function(tile) {
|
goog.object.forEach(tilesToDrawByZ[z], function(tile) {
|
||||||
var tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord);
|
var tileExtent = tileGrid.getTileCoordExtent(tile.tileCoord);
|
||||||
var sx = 2 * tileExtent.getWidth() / framebufferExtentSize.width;
|
var sx = 2 * tileExtent.getWidth() / framebufferExtentSize.width;
|
||||||
var sy = 2 * tileExtent.getHeight() / framebufferExtentSize.height;
|
var sy = 2 * tileExtent.getHeight() / framebufferExtentSize.height;
|
||||||
@@ -383,17 +383,10 @@ ol.webgl.TileLayerRenderer.prototype.render = function() {
|
|||||||
framebufferExtentSize.width - 1;
|
framebufferExtentSize.width - 1;
|
||||||
var ty = 2 * (tileExtent.minY - framebufferExtent.minY) /
|
var ty = 2 * (tileExtent.minY - framebufferExtent.minY) /
|
||||||
framebufferExtentSize.height - 1;
|
framebufferExtentSize.height - 1;
|
||||||
var filter;
|
|
||||||
if (tileZ == z) {
|
|
||||||
tx += 0.5 * sx / tileSize.width;
|
|
||||||
ty += 0.5 * sy / tileSize.height;
|
|
||||||
filter = goog.webgl.NEAREST;
|
|
||||||
} else {
|
|
||||||
filter = goog.webgl.LINEAR;
|
|
||||||
}
|
|
||||||
goog.vec.Vec4.setFromValues(uTileOffset, sx, sy, tx, ty);
|
goog.vec.Vec4.setFromValues(uTileOffset, sx, sy, tx, ty);
|
||||||
gl.uniform4fv(this.locations_.uTileOffset, uTileOffset);
|
gl.uniform4fv(this.locations_.uTileOffset, uTileOffset);
|
||||||
map.bindImageTexture(tile.getImage(), filter, filter);
|
map.bindImageTexture(
|
||||||
|
tile.getImage(), goog.webgl.LINEAR, goog.webgl.LINEAR);
|
||||||
gl.drawArrays(goog.webgl.TRIANGLE_STRIP, 0, 4);
|
gl.drawArrays(goog.webgl.TRIANGLE_STRIP, 0, 4);
|
||||||
}, this);
|
}, this);
|
||||||
}, this);
|
}, this);
|
||||||
@@ -419,8 +412,8 @@ ol.webgl.TileLayerRenderer.prototype.render = function() {
|
|||||||
1);
|
1);
|
||||||
}
|
}
|
||||||
goog.vec.Mat4.translate(this.matrix_,
|
goog.vec.Mat4.translate(this.matrix_,
|
||||||
-0.5 - 0.5 / framebufferDimension,
|
-0.5,
|
||||||
-0.5 - 0.5 / framebufferDimension,
|
-0.5,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user