/nitrogen

A toolkit for building flight simulators.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

pipeline status Latest Release

Project Status

  • Graphics / Input Engine
    • Wgpu + Winit
    • Simple frame management and buffer upload system
    • Robust key binding support
    • Basic command system
    • VR support
    • Joystick support
    • Gamepad support
  • Atmospheric Simulation
    • Basic precomputed scattering: Using Bruneton's method.
    • Dynamically changing atmospheric conditions
    • Spatially variable atmospheric parameters
  • Weather Simulation
    • Pick a technique to apply for both global and local scales
  • Water Simulation
    • Pick a research paper to implement
  • Cloud Simulation
    • Pick a technique to implement: Using Horizon Zero Dawn's method
    • Noise based cloud layer generation and management
    • Cloud light scattering implementation
  • Forest Simulation
  • Script Driven Game Engine
    • Pick a good name: Nitrous
    • Basic scripting engine
    • drop-down console
    • command history
    • ECS Driven Memory System
    • pretty output and entities lists
    • Scripted Functions
  • Flight Modeling
  • Entity/Runtime System
    • Save/Load support
    • Replay recording
    • Network syncing
  • Planetary Scale Rendering; Using Kooima's thesis.
    • Patch management
    • Patch tesselation
    • Heightmap generator
    • Colormap generator
    • L14+ data
    • polar projection data
    • web hosted data
    • Atmospheric blending
    • Self shadowing
  • Text
    • Layout management
    • TTF loading
    • 2d screen-space rendering
    • in-world text rendering
  • UI
    • Basic UI Framework
    • Blurred backgrounds
    • Labels
    • Line editing
    • Vertical Box
    • Expander
    • Console
    • In-world UI elements
  • Sound
    • Pick a framework
    • Sample management
    • Channel management and blending
    • Positional audio
    • Frequency scaling (e.g. for wind and engine noises)
    • Doppler effects