Skip to content

Conversation

@kikuchan
Copy link
Contributor

This is an experimental (and somewhat hacky) implementation of a globe view with tilt.

Since it's achieved through post-processing, there are some limitations, including:

  • Limited drawn area on the screen (due to extent mismatch).
  • No support for rotation (yet).
  • No support for extrusion.
  • Only works on WebGL layers, and a canvas vector layer (so far).

It introduces concepts such as:

  • Subjective projection: Projected coordinates depend on the current view (typically the center).
  • Final projection: Lifts the restriction of affine transform when converting intermediate (flat) coordinates to pixel coordinates.

And, some notes:

It's still in progress, and any feedbacks are welcome!

Thank you.

@kikuchan
Copy link
Contributor Author

@jahow
Copy link
Contributor

jahow commented Sep 21, 2024

Very interesting, thanks! I will look into this more if I have time. Do you think the double float arithmetics could work for other webgl layers as well? This could be super interesting to avoid having to recompute the buffers when the view changes (which was done to avoid precision issues).

@kikuchan
Copy link
Contributor Author

Thank you for your interest!

Regarding double-float arithmetics, there are some downsides:

  • We have to write expressions in a function call style.
  • It’s hard to trick an optimizer for all devices.
  • It’s slow, especially due to the Taylor series summation.

For expressions, we can use S-expressions, for example, to mitigate this, but I've yet to find solutions for the other issues.

If these issues don’t matter for the case, then yes, it could be possible!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants