From 9d9a600bf7d2f42d6d171d3e35aa622fb8e58205 Mon Sep 17 00:00:00 2001 From: Jakub Pelc <57600346+kubapelc@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:56:27 +0100 Subject: [PATCH] Fix globe pitch-aligned line-placed texts (#4925) * Fix map-pitch-aligned line-placed texts on globe * Add render test * Only use globe text line render tests with collision circles * Add another symbol-visibility/visible expected image * Add changelog entry --- CHANGELOG.md | 1 + src/shaders/symbol_sdf.vertex.glsl | 3 +-- src/symbol/collision_index.ts | 3 ++- src/symbol/projection.ts | 2 +- .../collision-text-line-equator/expected.png | Bin 0 -> 7088 bytes .../style.json | 23 ++++++++++++------ .../expected.png | Bin 7921 -> 9558 bytes .../style.json | 8 +++--- .../globe/text-line-pole-to-pole/expected.png | Bin 5540 -> 0 bytes .../visible/expected-flaky.png | Bin 0 -> 36875 bytes 10 files changed, 25 insertions(+), 15 deletions(-) create mode 100644 test/integration/render/tests/projection/globe/collision-text-line-equator/expected.png rename test/integration/render/tests/projection/globe/{text-line-pole-to-pole => collision-text-line-equator}/style.json (81%) delete mode 100644 test/integration/render/tests/projection/globe/text-line-pole-to-pole/expected.png create mode 100644 test/integration/render/tests/symbol-visibility/visible/expected-flaky.png diff --git a/CHANGELOG.md b/CHANGELOG.md index fdea4e026a..ed79148658 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - _...Add new stuff here..._ ### 🐞 Bug fixes +- Fix line-placed map-pitch-aligned texts being too large when viewed from some latitudes on a globe ([#4786](https://github.com/maplibre/maplibre-gl-js/issues/4786)) - _...Add new stuff here..._ ## 5.0.0-pre.4 diff --git a/src/shaders/symbol_sdf.vertex.glsl b/src/shaders/symbol_sdf.vertex.glsl index f72fe62f8f..552bf62368 100644 --- a/src/shaders/symbol_sdf.vertex.glsl +++ b/src/shaders/symbol_sdf.vertex.glsl @@ -120,8 +120,7 @@ void main() { float projectionScaling = 1.0; #ifdef GLOBE - if(u_pitch_with_map && !u_is_along_line) { - // Lines would behave in very weird ways if this adjustment was used for them. + if(u_pitch_with_map) { float anchor_pos_tile_y = (u_coord_matrix * vec4(projected_pos.xy / projected_pos.w, z, 1.0)).y; projectionScaling = mix(projectionScaling, 1.0 / circumferenceRatioAtTileY(anchor_pos_tile_y) * u_pitched_scale, u_projection_transition); } diff --git a/src/symbol/collision_index.ts b/src/symbol/collision_index.ts index 072c795b03..bf80189cd8 100644 --- a/src/symbol/collision_index.ts +++ b/src/symbol/collision_index.ts @@ -199,7 +199,8 @@ export class CollisionIndex { const tileUnitAnchorPoint = new Point(symbol.anchorX, symbol.anchorY); const perspectiveRatio = this.getPerspectiveRatio(tileUnitAnchorPoint.x, tileUnitAnchorPoint.y, unwrappedTileID, getElevation); - const labelPlaneFontSize = pitchWithMap ? fontSize / perspectiveRatio : fontSize * perspectiveRatio; + + const labelPlaneFontSize = pitchWithMap ? (fontSize * this.transform.getPitchedTextCorrection(symbol.anchorX, symbol.anchorY, unwrappedTileID) / perspectiveRatio) : fontSize * perspectiveRatio; const labelPlaneFontScale = labelPlaneFontSize / ONE_EM; const projectionCache = {projections: {}, offsets: {}, cachedAnchorPoint: undefined, anyProjectionOccluded: false}; diff --git a/src/symbol/projection.ts b/src/symbol/projection.ts index bc843ef785..c9ea57257a 100644 --- a/src/symbol/projection.ts +++ b/src/symbol/projection.ts @@ -279,7 +279,7 @@ export function updateLineLabels(bucket: SymbolBucket, const perspectiveRatio = getPerspectiveRatio(painter.transform.cameraToCenterDistance, cameraToAnchorDistance); const fontSize = symbolSize.evaluateSizeForFeature(sizeData, partiallyEvaluatedSize, symbol); - const pitchScaledFontSize = pitchWithMap ? fontSize / perspectiveRatio : fontSize * perspectiveRatio; + const pitchScaledFontSize = pitchWithMap ? (fontSize * painter.transform.getPitchedTextCorrection(symbol.anchorX, symbol.anchorY, unwrappedTileID) / perspectiveRatio) : fontSize * perspectiveRatio; const placeUnflipped = placeGlyphsAlongLine({ projectionContext, diff --git a/test/integration/render/tests/projection/globe/collision-text-line-equator/expected.png b/test/integration/render/tests/projection/globe/collision-text-line-equator/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..638c2581c16484e4c762f169ed1ed6fd2bddaceb GIT binary patch literal 7088 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 literal 0 HcmV?d00001 diff --git a/test/integration/render/tests/projection/globe/text-line-pole-to-pole/style.json b/test/integration/render/tests/projection/globe/collision-text-line-equator/style.json similarity index 81% rename from test/integration/render/tests/projection/globe/text-line-pole-to-pole/style.json rename to test/integration/render/tests/projection/globe/collision-text-line-equator/style.json index 4546aded70..b8419379dc 100644 --- a/test/integration/render/tests/projection/globe/text-line-pole-to-pole/style.json +++ b/test/integration/render/tests/projection/globe/collision-text-line-equator/style.json @@ -2,6 +2,7 @@ "version": 8, "metadata": { "test": { + "collisionDebug": true, "height": 256, "width": 256 } @@ -9,9 +10,15 @@ "sky": { "atmosphere-blend": 0.0 }, - "zoom": 1, + "zoom": 0, + "center": [ + 0, + 45 + ], "glyphs": "local://glyphs/{fontstack}/{range}.pbf", - "projection": { "type": "globe" }, + "projection": { + "type": "globe" + }, "sources": { "geojson": { "type": "geojson", @@ -21,12 +28,12 @@ "type": "LineString", "coordinates": [ [ - 0, - -85 + -45, + 0 ], [ - 0, - 85 + 45, + 0 ] ] } @@ -38,7 +45,7 @@ "id": "background", "type": "background", "paint": { - "background-color": "white" + "background-color": "grey" } }, { @@ -60,7 +67,7 @@ "source": "geojson", "layout": { "symbol-placement": "line", - "text-field": "AAAA AAAAAA A AAAAA AAAA BB", + "text-field": "AAAAAAAAAAA", "text-font": [ "Open Sans Semibold", "Arial Unicode MS Bold" diff --git a/test/integration/render/tests/projection/globe/collision-text-line-pole-to-pole/expected.png b/test/integration/render/tests/projection/globe/collision-text-line-pole-to-pole/expected.png index af1bc7d712b86926a8a60da2c2192fa01bd64e8d..c08c44cfd0709a175b868127e193eb1cafc31777 100644 GIT binary patch literal 9558 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 diff --git a/test/integration/render/tests/projection/globe/collision-text-line-pole-to-pole/style.json b/test/integration/render/tests/projection/globe/collision-text-line-pole-to-pole/style.json index 73b29cea23..a6b1297200 100644 --- a/test/integration/render/tests/projection/globe/collision-text-line-pole-to-pole/style.json +++ b/test/integration/render/tests/projection/globe/collision-text-line-pole-to-pole/style.json @@ -12,7 +12,9 @@ }, "zoom": 1, "glyphs": "local://glyphs/{fontstack}/{range}.pbf", - "projection": { "type": "globe" }, + "projection": { + "type": "globe" + }, "sources": { "geojson": { "type": "geojson", @@ -39,7 +41,7 @@ "id": "background", "type": "background", "paint": { - "background-color": "white" + "background-color": "grey" } }, { @@ -61,7 +63,7 @@ "source": "geojson", "layout": { "symbol-placement": "line", - "text-field": "AAAA AAAAAA A AAAAA AAAA BB", + "text-field": "AAAAAAAAAA", "text-font": [ "Open Sans Semibold", "Arial Unicode MS Bold" diff --git a/test/integration/render/tests/projection/globe/text-line-pole-to-pole/expected.png b/test/integration/render/tests/projection/globe/text-line-pole-to-pole/expected.png deleted file mode 100644 index 82dc82b80fb2e26f5e0fb95ea3584088dd890747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5540 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 V?BrMr~wR*)D_QV+&V= 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

p*D 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 )j`-#AqYH{{_&wX}<1glR$009P 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 LUdg+B$MgRH@Ftx~ literal 0 HcmV?d00001