Reference Sky Rendering Notes
Historical research notes. They record what was learned from local reference sky implementation packages while AstraTerra's rendering baseline was being settled, and they are kept because the decisions in Architecture refer back to them.
The packages themselves were inspected from a local download directory and are not in this repository, so nothing here is reproducible from a checkout. Treat it as the reasoning behind the baseline rather than as a description of the current code — Celestial Model and Architecture are what the renderers actually do now.
Rendering Takeaways
- The reference implementation renders active sky objects primarily as 3D billboards injected into Vintage Story's sun/moon pass.
- It reuses the vanilla sun/moon quad mesh when available, disables depth test/culling, enables blending, and renders textured quads with
StandardShader. - Useful default placement distances were close to the camera by sky-rendering standards: near layer
20, planetary layer28, stellar layer40. - Orthographic rendering is better kept for debug markers, projected overlays, constellation lines, and labels.
- Readability comes from stylized brightness curves and multipliers, not physically faithful magnitude luminance.
Star Brightness
The reference constellation-star path clamps faint stars to a visible floor:
Stars fainter than about magnitude 1.4 still render at roughly 20% brightness before other multipliers. AstraTerra follows the same product direction: magnitude matters, but the sky must remain readable in game.
AstraTerra Baseline
AstraTerra now:
- keeps Earth-accurate catalog positions and horizon classification in
StarRenderModel, - uses a stylized brightness curve,
- preserves horizon fading,
- renders star billboards in the sun/moon 3D pass,
- uses orthographic renderers for constellation overlays, telescope scope UI, and sextant text.
Atlas Notes From Reference Implementation
The reference atlas system is item-driven. Item stack data records discovered stars or constellations, and renderers use that metadata for highlight bloom and labels. The chart emerges from recorded target metadata rather than from a pre-rendered map texture.
Useful idea for AstraTerra: a future constellation catalog item can start as structured saved entries plus render-time highlighting and labels. It does not need a complex chart texture to become useful.