Skip to content

sasamiyatu/GigaVFX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GigaVFX

This is a hobby project with the goal of exploring GPU-based particle system implementations. Particle emission and simulation both run fully in compute shaders and all state related to particle systems is resident only on the GPU. Buffers and indirect dispatching is used to communicate between passes. Indirect draw is used to create draw calls for rendering on the GPU.

Video demonstration

Alt text

Particle systems

Simple

Basic particle system using a spherical emitter with randomized direction. Gravity, drag and wind velocity are applied in each simulation step. Particles can collide with the ground plane.

Alt text

Smoke

Smoke simulation with volumetric shadows using half-angle slice rendering and curl noise. Particles are sorted on the GPU using radix sort.

Alt text

Disintegrator

Disintegration effect inspired by God of War. Emits particles from depth prepass. Fragments are discarded based on a noise texture and an animated discard threshold within depth prepass, and for each particle that went from visible to not visible during the frame, a particle is emitted.

Alt text

Trails

Uses two particle systems where one acts as the parent and one as the child. The movement is simulated in the parent system using divergence-free noise to generate a velocity field conforming to the surface of a sphere. The child system gets its dispatch size based on the number of the particles in the parent system and its own emission rate. Trails are formed by lots of small particles emitted by the child particle system.

Alt text

Building and running

Clone the project:

git clone --recursive https://github.com/sasamiyatu/GigaVFX.git
cd GigaVFX

Build with CMake:

cmake -S . -B build
cmake --build build

Run the test scene

build\Debug\gigavfx.exe data\test.glb

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published