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

[TRACKER] Rendering issues at very long distances (numerical precision) #98655

Open
4 of 17 tasks
Flarkk opened this issue Oct 29, 2024 · 2 comments
Open
4 of 17 tasks

[TRACKER] Rendering issues at very long distances (numerical precision) #98655

Flarkk opened this issue Oct 29, 2024 · 2 comments

Comments

@Flarkk
Copy link
Contributor

Flarkk commented Oct 29, 2024

This is a tracker dedicated to issues experienced when rendering at very long distances, i.e. involving very large camera far distance, very large and very far away geometry, lights with very long range, and all kinds of very large numbers in general.

Such scenes are very common in space settled games, open words, at-scale planets, and similar applications.
Godot currently offers a rather low level of support for such applications due to the many places numerical precision and overflow issues arise.

Sometimes these issues can be worked around with the double precision build, but many also involve numerical issues in the shaders as well, which makes having double precision in the core engine of little help.

Note : deep scenes rendering usually comes along with other related requirements like floating origin management, quadtree / octree scene partitioning or resource streaming. These are broader concerns that go beyond rendering and should not be tracked here.

Feel free to comment on this thread if you've identified or resolved issues not yet mentioned below !

Issues classification

🌌 : happens at galactic scale (numbers > ~1e+19m). Most often related to overflows in length calculations and normalizations of 32 bit vectors.

🪐 : happens at planetary scale (numbers > ~1e+6m). Most often related to numerical precision issues with near and far planes of 32 bit projection matrices

🏞️ : happens at walkable distances (numbers > ~1e+2m). Not deep scene issues strictly speaking, still mentioned because likely related

Issues list

Scene

Preview Give feedback

Lighting

Preview Give feedback

Shadows

Preview Give feedback

Shading

Preview Give feedback

Geometry

Preview Give feedback

Effects

Preview Give feedback
@roalyr
Copy link

roalyr commented Nov 4, 2024

I've gathered all my tweaks in a single commit for 4.x : master...roalyr:godot-for-3d-open-worlds:master and for 3.x: 3.x...roalyr:godot-for-3d-open-worlds:3.x
Just in case. I also think it is worth adding editor tweaks to the list (scene camera and in-game camera limits, editor zooming speed, grid and gizmos rendering precision, and so on).

@Zireael07
Copy link
Contributor

Nit: I'd change the title to be "very large", as "deep" usually refers to the scene tree's complexity

@Flarkk Flarkk changed the title [TRACKER] Rendering issues with deep scenes [TRACKER] Rendering issues at very long distances Nov 25, 2024
@Flarkk Flarkk changed the title [TRACKER] Rendering issues at very long distances [TRACKER] Rendering issues at very long distances (numerical precision) Nov 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants