Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Depth range from the ground: far bodies, their orbits and rings tie or invert in the 24-bit depth buffer

Aperta
#175 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, three.js

Direzione di ricerca

Start by reading the depth-buffer and projection setup, then check the composite and Cesium depth handoff described in CESIUM.md and portal-netgl. Compare reversed-Z, logarithmic depth, and analytic occlusion against the stated telescope-FOV cases; done means Jupiter occludes the far halves of its moons' orbits, Saturn occludes its far ring arc, the Moon hides background stars, and space views retain parity.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

track:rendering

Found while fixing the atmosphere dashes over Jupiter (#174).

Problem

From Earth's surface the near plane is ~100 m, so every body beyond a few million km lands on or one 24-bit step under the far plane. Depth can then no longer order them:

  • Orbits over their planet: Ganymede's orbit line ties with Jupiter's disc, and overlays pass the depth test on a tie, so the far half of the orbit draws across Jupiter (telescope FOV from the ground).
  • Rings: Saturn's far ring arc draws over the disc from the ground.
  • The Moon and stars: catalogue stars, pulled to 0.999999·w, sit nearer than the Moon from the ground (≈0.9999995), so a bright star behind the Moon could show through it.

#174 fixed the atmosphere pass's own misreading of these depths; the ordering problem remains.

Options

  • Reversed-Z with a float depth buffer (WebGL2: DEPTH_COMPONENT32F plus a reversed projection): near-uniform relative precision over the whole range. three.js supports reverseDepthBuffer (r163+); check the composite and Cesium's depth handoff (CESIUM.md) and portal-netgl.
  • Logarithmic depth (three's logarithmicDepthBuffer): simple, but writes gl_FragDepth, which costs early-z and touches every custom shader.
  • Analytic occlusion: overlays and background test against the bounding spheres of nearer bodies in the shader. Targeted, no buffer change.

Done when

From Earth's surface at a telescope FOV, Jupiter hides the far half of its moons' orbits, Saturn's disc hides the far ring arc, and the Moon hides the stars behind it; nothing changes in space views (parity).


Generated by Claude Code

Lingua principale
JavaScript
Stelle
55
Fork
4
Merge medio
10h 12m
PR unite (30g)
134

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di celestiary/web

Tutte le issue di celestiary/web

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.