Mesh Particles

Introduction

I've grown to like working on advanced graphical features, and while researching Model Instancing, I got the idea to implement model support for my particle system! While there was no need for massive code changes for this implementation, it still required careful debugging when things went wrong.

The Result

Here is a recent example from my final project of my TGA education.

Setting Up the Buffers

The idea of mesh particles usually requires having two different vertex buffers, one for the mesh/model and one for particle vertices (positions and some other data). When using multiple vertex buffers, changes in the input layout is necessary.

Input Layout

The input layout is something I've previously brushed by or ignored, however, to implement this feature, I had to gain a deeper understanding of the input layout by experimenting with all it's settings.

Encountering Problems

As previously mentioned, the necessary code changes didn't take too long to implement, and documentation on the subject wasn't too difficult to come by either. The main issue was finding where the problems occurred, carefully scanning the code base to find where changes was needed. Thankfully, I received a great deal of help from my educators, which made that process a whole lot easier.

Compute Shading/Optimization

Editor Layout