diff --git a/vendor/clouds3d.js b/vendor/clouds3d.js index b63a18f..09574eb 100644 --- a/vendor/clouds3d.js +++ b/vendor/clouds3d.js @@ -345,15 +345,12 @@ function drawTileAt(lng, perp, dx, dz, centerTileX, centerTileY) { return Promise.resolve(false); } return fetchTileImage(tileX, tileY).then(function(img) { - // Rotate image 180 degrees: draw with negative width and - // negative height, anchored at the tile's bottom-right corner - // (canvasX + 256, canvasY + 256). After this, image north - // (high lat) is at canvas bottom and image south at canvas - // top; image east at canvas right, image west at canvas left. - // Mirror image across the NS axis (X-only flip). Image top - // (north) stays at canvas top, image bottom (south) stays - // at canvas bottom. Image left (west) -> canvas right, image - // right (east) -> canvas left. + // Mirror image across the NS axis (horizontal / X-flip): + // draw with negative width and positive height, anchored at + // the tile's right edge (canvasX + 256). Image top (north) + // stays at canvas top, image bottom (south) at canvas bottom. + // Image left (west) -> canvas right, image right (east) -> + // canvas left. groundCtx.drawImage(img, canvasX + GROUND_TILE_SIZE, canvasY, -GROUND_TILE_SIZE, GROUND_TILE_SIZE); groundLoadedTiles[tileX + '_' + tileY] = true;