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

Earth's night side is lit about 30% on the bare ellipsoid when ion's World Terrain is unavailable

Aperta
#210 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à
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript

Direzione di ricerca

Start with the linked CESIUM.md section and review #202 for context on the two shading paths: terrain vertex lighting and ellipsoid day/night shading. Compare the decode-pass option with a flat terrain provider that supplies normals, then run the earth-night-* parity views with the ion token unset. Done means the ellipsoid night side is as dark as with terrain, and city lights have the same exposure.

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

Descrizione

cesium track:rendering

Found in review of #202; written up in CESIUM.md, Earth's lighting needs the terrain, and listed there as not fixed.

Problem

Cesium lights a globe two ways. With terrain that has vertex normals (ion's World Terrain, requested with requestVertexNormals) it uses ENABLE_VERTEX_LIGHTING, which litSurfaceOnly sets to Lambert × 1 + 0: dark on the night side, as celestiary's own Earth. On the plain ellipsoid it uses ENABLE_DAYNIGHT_SHADING, colour × clamp(5 × Lambert + 0.3), hard-coded. The 0.3 is a floor all over the night side, and as the exposure meter takes the night side's brightness for the scene's, it also dims the exposure the city lights are seen at.

So whenever the globe is on the ellipsoid, Earth's night side shows the day surface at about 30% and the lights are dimmed: until the terrain answers, and for good when ion refuses it (no token, a token not scoped to asset 1, a 401 or 403 from the account's quota, or a build with CESIUM_ION_TOKEN= as AGENTS.md now suggests for testing). Production with a working token is unaffected; PR previews, local builds without the token and an over-quota account are not.

Options (from CESIUM.md)

  • Apply the ellipsoid's shading in the decode pass, taking the 0.3 floor out (the decode already inverts Cesium's frame).
  • A flat terrain provider that supplies normals, so the globe takes the vertex-lighting path without ion.

Done when

With ion's terrain refused, Earth from 30,000 km shows the night side as dark as with terrain on (the parity earth-night-* views pass with the token unset), and the city lights are at the same exposure.

Related: #202, #93, #110.

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.