Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

review / rework tiles / quad scheduler / higher resolution for ortho photos #162

Open
3 tasks done
adam-ce opened this issue Feb 8, 2025 · 4 comments
Open
3 tasks done
Assignees
Labels
next Planned for the next release performance

Comments

@adam-ce
Copy link
Member

adam-ce commented Feb 8, 2025

  • i believe the scheduler now requests tiles, but the quad assembler thinks it's quad ids. so we load one level too much. might be the same for gpu tiles.
  • check whether we need quads for anything but geometry.
  • textures could go 4 into one array layer (512 instead of 256).
@adam-ce adam-ce added next Planned for the next release performance labels Feb 8, 2025
@adam-ce adam-ce self-assigned this Feb 8, 2025
@adam-ce adam-ce added next Planned for the next release and removed next Planned for the next release labels Feb 8, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Feb 24, 2025
@adam-ce
Copy link
Member Author

adam-ce commented Feb 26, 2025

tile requests were on the correct level. just one function was named confusingly.

@adam-ce
Copy link
Member Author

adam-ce commented Mar 4, 2025

we don't even need quads for geometry, i think. we are already pulling the geometry info from textures. so if draw arbitrary high zoom level instances, and store per instance the instance tile id (currently geometry tile id), geometry zoom level and array index, we can find the correct texture -> fetch geometry texture etc.

todo/next:

  • test textures instead of UBOs -> textures way faster on android

continue

  • implement RGBA32F textures
  • tile bounds in texture -> use in vertex shader
  • populate and use the instanced data for height lookup
  • generate draw list independent of available tiles
  • clean up array textures (currently set number of quads)

@adam-ce
Copy link
Member Author

adam-ce commented Mar 4, 2025

  • it seems that such large ubos have terrible perf on android. try switching to textures

adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 8, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 8, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 9, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 9, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 9, 2025
…renders using low resolution data, making a stair case effect.

(AlpineMapsOrg#162)
- disabled shadow mapping for now
- disabled normal computation for now

idea:
use several geometry sets, with varying resolution. draw, e.g. 17x17
geometry, if we are 2 zoom levels below max res.
@adam-ce adam-ce changed the title review / rework tiles / quad scheduler review / rework tiles / quad scheduler / higher resolution for ortho photos Mar 9, 2025
@adam-ce
Copy link
Member Author

adam-ce commented Mar 9, 2025

this produces terribly looking geometrical stair cases:

Image

solutions:

  • draw smaller geometries (e.g. 3x3, 5x5, 9x9, .. 33x33) when the height map resolution is not enough (but this complicates drawing)
  • moving superfluous vertices to the edge (similar to previous solution, just not creating more geometry types)
  • draw the same as before, but descend the zoom pyramid in the fragment shader (works only if all 4 quads are available, uv resolution will drop).
  • float16/32 texture with texture filtering

think also about deferred shading (including for alpenite).

adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 10, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 11, 2025
adam-ce added a commit to adam-ce/alpine_renderer that referenced this issue Mar 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next Planned for the next release performance
Projects
None yet
Development

No branches or pull requests

1 participant