Mike0021 commited on
Commit
f85eff7
·
verified ·
1 Parent(s): 9b56154

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. .gitattributes +1 -0
  2. README.md +68 -4
  3. index.html +0 -0
  4. preview.png +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ preview.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,10 +1,74 @@
1
  ---
2
  title: Aquatic World
3
- emoji: 📉
4
- colorFrom: green
5
- colorTo: yellow
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  title: Aquatic World
3
+ emoji: 🌊
4
+ colorFrom: blue
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ license: mit
9
+ short_description: A dense procedural ocean rendered from scratch in WebGL2
10
  ---
11
 
12
+ # Aquatic World
13
+
14
+ ![Aquatic World](preview.png)
15
+
16
+ A dense, real-time, procedurally generated ocean world, rendered from scratch in
17
+ raw WebGL2. No engine, no assets, no dependencies — every wave, cloud, fish,
18
+ coral head and caustic is computed by code. It is one self-contained HTML file.
19
+
20
+ ## Controls
21
+
22
+ - **Drag** to look, **W A S D** to move, **Space / Q** for up and down, **Shift** to sprint
23
+ - **1–6** presets (Dawn, Noon, Golden Hour, Squall, Midnight, Deep Dive)
24
+ - **F** cycles camera mode, **Tab** toggles the control panel, **H** toggles the HUD
25
+ - **P** pause, **R** reset the camera
26
+ - Scroll to change movement speed, or orbit radius in orbit mode
27
+
28
+ Dive with the **Deep Dive** preset, or switch to **dive** mode and let it sink.
29
+ The world runs from the sunlit surface down to about 140 m.
30
+
31
+ ## What is actually being rendered
32
+
33
+ The water is the point, and it is simulated rather than faked:
34
+
35
+ - **Ray-marched volumetric ocean.** Analysts ray intersection against a displaced
36
+ height field, refined with a bracketed Newton solve, then a bounded march through
37
+ the medium integrating per-channel extinction and in-scattering (Beer–Lambert
38
+ with a Henyey–Greenstein phase function).
39
+ - **Caustics from the Jacobian.** Sunlight focusing through the wave field is
40
+ computed as 1/|det J| of the surface mapping, which produces the sharp bright
41
+ filaments and dark cells real caustics have, animating coherently with the waves.
42
+ - **Snell's window.** Looking up from shallow water shows the bright refracted disc
43
+ of sky, ringed by total internal reflection carrying the mirrored world below.
44
+ - **Planar reflections** rendered from a mirrored camera, blended with the analytic
45
+ sky, with depth-correct refraction that will not smear the seabed onto objects
46
+ standing out of the water.
47
+ - **Subsurface scattering** through wave crests, foam that breaks up with distance,
48
+ and sub-pixel sun glitter.
49
+ - **Depth is chromatic.** Red is extinguished roughly ten times faster than blue, so
50
+ the seabed fades from orange to grey-blue as you descend — the cheapest and most
51
+ convincing depth cue there is.
52
+ - Cloud shadows drift across the swell, aligned with the clouds casting them.
53
+
54
+ The world holds ~900 fish in 28 boid schools across four species, jellyfish that
55
+ pulse and migrate, kelp forests that sway with the current, coral, sponges,
56
+ anemones and boulders on a procedural seabed, drifting plankton lit by forward
57
+ scattering, bubble columns, bioluminescence below 60 m, and whales, mantas and
58
+ turtles for scale.
59
+
60
+ ## Architecture
61
+
62
+ Built by a swarm of parallel agents against a frozen interface contract, then
63
+ verified by rendering frames headlessly on a real GPU and inspecting the pixels.
64
+ The single file here is the concatenation of 36 modules: a core runtime
65
+ (render-target management, a shader-chunk assembler with chunk-relative error
66
+ reporting, automatic uniform upload) and the content modules on top of it.
67
+
68
+ `AW.snap(hours, opts)` puts the world into a reproducible state for a given time
69
+ of day and camera, which is what the render-verification harness drives.
70
+
71
+ ## Notes
72
+
73
+ Targets 60 fps at 1600×900 on integrated graphics. Quality can be lowered in the
74
+ control panel. A WebGL2-capable browser is required.
index.html CHANGED
The diff for this file is too large to render. See raw diff
 
preview.png ADDED

Git LFS Details

  • SHA256: e4030c28d880e94793b1061fcd66626fb02c736f9cd884cd88805241645050ad
  • Pointer size: 132 Bytes
  • Size of remote file: 1.96 MB