Skip to content

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

@Flarkk

Description

@Flarkk

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

Lighting

Shadows

Shading

Geometry

Effects

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions