Vulkan Particle System

Vulkan GPU Particle System C++


Features

  • Vulkan
  • C++
  • GPU programming
  • Dynamic Lighting
  • Different Models
The particles swirling together and forming a bunny.

This project was to get a particle system on the GPU using Vulkan with real time dynamic lighting. The particles move about and form different shapes using a signed distance function. This was used to get the closest triangle on the model and then barycentric coordinates were used to get a random point on the triangle. The particle system was passed as vertex inputs into the vertex shader but n used a storage buffer for the compute and fragment shader.

Dynamic lighting was implemented with the use of PBR. A roughness and metallic value was passed in and the colour value of the particles were used to illuminate the plane.


What I Learned

  • Consolidated my understanding of C++
  • Introduced me to Vulkan
  • I learned a lot about the different aspects of GPU programming
  • Improved my understanding of 3D maths
  • Physically Based Rendering
  • Forced me to learn about spatial data structures.

Gameplay


4,000,000 Particles

Particles forming Shapes


This game was made for educational purposes, for me show my improvement as a games developer and so this was not made for any commercial purposes.

Project Details

Date: May 1, 2020

Author: Lewis Bond

Categories: project

Tagged: Vulkan, CTP, UWEGames, C++, University

Client:

Website: https://github.com/lbondi7

Related Works.

About

Those who can do and those who can't teach games design.

Our Bunker



United Kingdom.