Commit Graph

8 Commits

Author SHA1 Message Date
Mathias Agopian
d6d4f92922 fix intensities (#9728)
DOCS_FORCE
2026-02-19 11:59:34 -08:00
Mathias Agopian
ec4b9113df more web sky simulation (#9669)
* fix artifacts on mobile

* feat(skybox): Add moon and milky way rendering

This commit enhances the simulated skybox with the following features:

- **Moon Rendering:** A textured moon with normal mapping has been added. The moon's phase is calculated and rendered correctly. Earthshine is also simulated.
- **Milky Way Background:** An equirectangular milky way texture is now rendered in the background. The intensity and saturation of the milky way can be adjusted.
- **Asset Processing Scripts:** Python scripts have been added to download and process the moon and milky way textures. This includes generating a normal map from a displacement map for the moon.
- **GUI Controls:** The GUI has been updated to include controls for the moon (azimuth, height, intensity, radius) and the milky way (intensity, saturation, sidereal time, latitude).
- **Real-time Sync:** The application can now use the user's geolocation to automatically set the position of the sun and moon.
- **Sun/Moon Calculation:** The  library has been added to calculate the position of the sun and moon.

DOCS_FORCE
2026-01-30 16:51:42 -08:00
Mathias Agopian
ef24164464 Improve Moon/Earthshine, add Touch support (#9659)
- Fix Moon normal calculation in shader (was inverted).
- Implement physically based Earthshine (dynamic based on phase).
- Add Moon scattering to Water reflection.
- Fix Star occlusion (masked by Moon).
- Improved Stars
- Add mobile touch support (Orbit control) to Camera.

DOCS_FORCE
2026-01-28 23:32:06 -08:00
Mathias Agopian
375e3a03ec SkySim: add initial support for a moon (#9650)
- also update filament binaries

DOCS_FORCE
2026-01-28 01:25:03 -08:00
Mathias Agopian
7c64fb9cf3 SimSky: Optimize URL state sharing and fix UI synchronization (#9649)
- **Key Minification**: Refactored serialization to use short keys
  (e.g., `p`, `c`, `w`) instead of verbose property names, reducing URL 
  size by ~50%.
- **State Optimization**: Removed redundant `sunDirection` from 
  serialized state.
- **Cleanup**: Removed backward compatibility for verbose keys 
- **Bug Fix**: Fixed a regression where UI sliders failed to update on 
  load by ensuring array properties (e.g., `sunHalo`) are mutated 
  in-place rather than replaced.

DOCS_FORCE
2026-01-27 23:52:49 -08:00
Mathias Agopian
e9dcf2a63a SimSky: Add URL state sharing and configuration persistence (#9648)
- **State Management**:
  - Refactored main.js to expose local UI parameter objects as class
    properties for serialization.
  - Implemented getURLState() to capture complete scene configuration 
    (Sky, Clouds, Water, Stars, Camera, Bloom).
  - Implemented applyURLState() to restore settings and synchronize 
    the UI.

- **URL Sharing**:
  - Added "Share Configuration" button to the UI.
  - Configuration is Base64-encoded into a `config` URL query parameter.
  - App now automatically parses and applies the `config` parameter 
    on startup, allowing for stateful deep linking.

DOCS_FORCE
2026-01-27 22:36:54 -08:00
Mathias Agopian
e21d4a5326 SimSky: Refine Stars, Water, and Heat Shimmer simulation (#9628)
- **Stars**:
  - Implemented procedural stars using hash-based noise.
  - Added UI controls for Star Density and Enable/Disable.
  - Tuned star brightness (reduced intensity) and refined twilight fade timing (visible during nautical twilight).
  - Improved compositing with aggressive cloud occlusion and non-linear fade.
  - Added star reflections to water, strictly masked to the horizon line.

- **Heat Shimmer**:
  - Fixed horizon artifacts by decoupling shimmer from atmospheric density (Mie scattering).
  - Implemented FBM-based view distortion for heat waves.
  - Added sun elevation fade (shimmer fades out as sun rises > 30°).

- **Water**:
  - Implemented Finite Difference normal calculation as a high-quality fallback when "Derivative Trick" is disabled.
  - Added "Octaves" parameter to control wave detail.
  - Refined reflection logic to handle stars and sun disk properly.

- **System**:
  - Updated [simulated_skybox.mat](cci:7://file:///Users/mathias/sources/git/filament/docs_src/src_raw/wip/sky/simulated_skybox.mat:0:0-0:0) with new material parameters (`starControl`, `waterControl`).
  - Refactored JS bindings in [SimulatedSkybox.js](cci:7://file:///Users/mathias/sources/git/filament/docs_src/src_raw/wip/sky/SimulatedSkybox.js:0:0-0:0) and organized `main.js` UI into logical folders.

DOCS_FORCE
2026-01-23 01:06:07 -08:00
Powei Feng
b66736b8cc docs: move wip skybox demo to /docs_src/src_raw (#9626)
/docs content is overwritten by content in /docs_src

(This tag will force a regeneration)
DOCS_FORCE
2026-01-22 23:20:10 +00:00