Skip to content

FWuermse/flow-ngin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

220 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flow NGIN

A simple cross-plattform instancing-oriented game engine with focus on full WASM-compatibility.

You may want to use this engine if:

  • You heavily rely on instancing (many instances of the same model)
  • You need full browser compatibility
  • You like to use Rust exclusively for all platforms
  • You don't need a GUI for game development
  • You prefer code over low-code

Features

  • Model loading:
    • Loading OBJ files
      • Meshes
      • Normals
      • Tex-coords
    • Loading GLTF files
      • Meshes
      • Normals
      • Tex-coords
      • Tangents
      • Bitangents
      • Textures
      • Normal Maps
      • Multiple Animation Tracks
      • Rigs (Not planned at the moment)
  • Light
  • Animations
    • Hierarchies
    • Position Interpolation
    • Time-based
  • Camera
  • Audio
  • Shading
    • Blinn-Phong
    • Normal Map support
  • Shadows
  • Picking
  • Ray casting
  • Terrain generation
    • Multi-texture Terrain
    • Deterministic Terrain generation
    • Seed as input parameter
  • User Interface
    • Button
    • Icons (including transparency)
    • Responsiveness

Tests and Verification

This engine currently has integration tests for an entire graphics module, unit tests for core functions, and kani proofs for pure functions that rely on transformation calculations and similar.

Running Unit Tests

cargo test

Verify Kani Proofs

Setup

cargo install --locked kani-verifier
cargo kani setup

Execute tests

cargo kani

Running Integration Tests

Note: integrations tests with golden-image-tests can currently only be executed on Wayland and Windows.

cargo test --features integration-tests,ui

Supported Backends

  • Vulkan
  • Metal
  • DX12
  • WebGL (incl. WASM)
  • WebGPU (incl. WASM)

About

A simple cross-plattform instancing-oriented game engine with focus on full WASM-compatibility.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors