Skip to content
/ flux Public

A real-time GPU-accelerated particle sandbox

Notifications You must be signed in to change notification settings

jakeweary/flux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flux

screenshot

A real-time GPU-accelerated particle sandbox. Designed a way so there's no processing done on the CPU. All particles are stored in a few float32 textures, updated and rendered using a bunch of fancy shaders. So it's blazingly fast! Simulating a few million particles at 60 FPS is a boring task even for my ancient GPU, a modern one will likely handle tens of millions.

Features

  • As GPGPU as it gets: no work on the CPU and no data transfers from/to the main memory
  • Fancy post-processing: high quality multi-pass bloom filter, ACES tonemapping, etc.
  • Perceptually uniform color spaces: CIELAB, CIELUV, Oklab, etc.
  • Lots of simulation and rendering settings to mess around with

Instructions

NOTE: must be compiled with Zig 0.12, tested only on Windows and WSL2

# build and run:
zig build run

# build in release mode:
zig build --release

# dependencies to build/run on linux:
apt install libglfw3 libglfw3-dev

Made with

Useful resources

About

A real-time GPU-accelerated particle sandbox

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published