Skip to content

Infinite explorable underwater world created using Rust and WGPU using marching cubes and 3D perlin noise populated with 3D boids.

License

Notifications You must be signed in to change notification settings

LelsersLasers/UnderwaterWorld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Underwater World

Infinite explorable underwater world created using Rust and WGPU using marching cubes and 3D perlin noise.

TODO

  • 3d fish/boids
    • Wrapping
      • Try to stay within the view/generation view frustrums
        • Would be able to lower the number of boids and have the same effect
  • Terrain coloring
    • Do by z level?
    • With terracing eff
    • Try to smooth the edges of chunks
  • Preformance
    • What are actually the slow parts?
    • If have "extra preformance"
      • Bigger view distance (chunks + fog)
      • Build chunks faster/slower?
      • Boids
        • More boids
        • More wall avoidence rays
        • Higher wall avoidance range
    • What parts go in vertex shader vs fragment shader?
  • README.md write up
  • itch.io page

Controls

  • Change pitch: WASD or arrow keys
  • Roll: Q/E or pgUp/pgDown
  • Speed up: space
  • Slow down: control
  • Reset submarine: R or enter

Notes

  • todo!()
  • Performance
    • Chunk generation
      • Split across multiple frames
      • Index buffers
      • Downscaling
      • Smart sorting
      • Blank chunk (+ early generation check)
      • View frustrum culling
      • Chunk generation order
    • Spatial paritioning
  • Marching Cubes
  • Fish
    • 3d boids
    • Wall avoidence
      • 3d points on sphere
      • Raycasting
    • Wrapping system
  • Terrain Generation/Perlin Noise
    • 3d multi-octave perlin noise
  • Shader/Lighting Effects
    • Fog, darker/deeper, fish swim animation, sub light

Assets

Resources

About

Infinite explorable underwater world created using Rust and WGPU using marching cubes and 3D perlin noise populated with 3D boids.

Topics

Resources

License

Stars

Watchers

Forks