Fix high zoom distortions#69
Conversation
Co-authored-by: james-willis <james-willis@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Ill test this in a bit: this might solve another user reported bug that I haven't addressed yet about some high zoom "wiggling" while zooming. mosaic_jitter.mov |
|
I think it does! that one has been bothering us too! |
|
Working really nice! great work. Ill do a little code review as well. |
|
The only thing about this PR is that it does reintroduce seams in some cases, but they're pretty extreme. Like zooming into z=20 on HRRR (LCC projection) datasets.
Claude summary of how we created this case:
probably not worth fixing. 2 proposals from Claude worth considering:
|

Follow up that supersedes #63. This one preserves pole rendering (and is compatible with latest main).
@james-willis this seems to fix the distortions and jittering from what I can see using your example data from #62. Thanks for tracking this down and providing the test data!
All untiled CRSes now encode vertices as normalized-Mercator deltas, and the flat path projects them with a render-relative-to-eye decomposition:
gl_Position = u_anchor_clip + matrix * deltainstead of forming an absolute world coordinate in Float32 (the source of the jitter). The per-regionanchor_clipis computed from the renderer's native-precision (Float64) flat matrix and only the small delta goes through the Float32 GPU matrix, so high-zoom rendering stays stable under pan/zoom. The ECEF globe shaders invert mercator to lat (with a near-pole clamp), so polar datasets keep full coverage on the globe.closes #62