Fix tile edge artefacts
This commit is contained in:
+6
-2
@@ -269,9 +269,13 @@ ol.webgl.Map.prototype.getTexture = function(image) {
|
|||||||
gl.texImage2D(goog.webgl.TEXTURE_2D, 0, goog.webgl.RGBA, goog.webgl.RGBA,
|
gl.texImage2D(goog.webgl.TEXTURE_2D, 0, goog.webgl.RGBA, goog.webgl.RGBA,
|
||||||
goog.webgl.UNSIGNED_BYTE, image);
|
goog.webgl.UNSIGNED_BYTE, image);
|
||||||
gl.texParameteri(goog.webgl.TEXTURE_2D, goog.webgl.TEXTURE_MAG_FILTER,
|
gl.texParameteri(goog.webgl.TEXTURE_2D, goog.webgl.TEXTURE_MAG_FILTER,
|
||||||
goog.webgl.LINEAR);
|
goog.webgl.NEAREST);
|
||||||
gl.texParameteri(goog.webgl.TEXTURE_2D, goog.webgl.TEXTURE_MIN_FILTER,
|
gl.texParameteri(goog.webgl.TEXTURE_2D, goog.webgl.TEXTURE_MIN_FILTER,
|
||||||
goog.webgl.LINEAR);
|
goog.webgl.NEAREST);
|
||||||
|
gl.texParameteri(goog.webgl.TEXTURE_2D, goog.webgl.TEXTURE_WRAP_S,
|
||||||
|
goog.webgl.CLAMP_TO_EDGE);
|
||||||
|
gl.texParameteri(goog.webgl.TEXTURE_2D, goog.webgl.TEXTURE_WRAP_T,
|
||||||
|
goog.webgl.CLAMP_TO_EDGE);
|
||||||
this.textureCache_[image.src] = texture;
|
this.textureCache_[image.src] = texture;
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -270,11 +270,13 @@ ol.webgl.TileLayerRenderer.prototype.redraw = function() {
|
|||||||
if (goog.isNull(this.arrayBuffer_)) {
|
if (goog.isNull(this.arrayBuffer_)) {
|
||||||
var arrayBuffer = gl.createBuffer();
|
var arrayBuffer = gl.createBuffer();
|
||||||
gl.bindBuffer(goog.webgl.ARRAY_BUFFER, arrayBuffer);
|
gl.bindBuffer(goog.webgl.ARRAY_BUFFER, arrayBuffer);
|
||||||
|
var textureOffsetX = 0.5 / tileSize.width;
|
||||||
|
var textureOffsetY = 0.5 / tileSize.height;
|
||||||
gl.bufferData(goog.webgl.ARRAY_BUFFER, new Float32Array([
|
gl.bufferData(goog.webgl.ARRAY_BUFFER, new Float32Array([
|
||||||
0, 0, 0, 1,
|
0, 0, 0 + textureOffsetX, 1 + textureOffsetY,
|
||||||
1, 0, 1, 1,
|
1, 0, 1 + textureOffsetX, 1 + textureOffsetY,
|
||||||
0, 1, 0, 0,
|
0, 1, 0 + textureOffsetX, 0 + textureOffsetY,
|
||||||
1, 1, 1, 0
|
1, 1, 1 + textureOffsetX, 0 + textureOffsetY
|
||||||
]), goog.webgl.STATIC_DRAW);
|
]), goog.webgl.STATIC_DRAW);
|
||||||
this.arrayBuffer_ = arrayBuffer;
|
this.arrayBuffer_ = arrayBuffer;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user