Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#210 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
JavaScript
Estrellas
55
Forks
4
Merge medio
10 h 12 min
PR fusionados (30 d)
134

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de celestiary/web

Todos los issues de celestiary/web

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.