I've been working non-stop on our book, and its starting to take a toll on me... I've been sick for the past two or three days. So I am taking the evening off from writing for the book, and instead am writing in this journal [grin]. Actually, I've been meaning to update here about a new demo that I am working on for the book. The basic concept is to implement a completely GPU based particle system, which creates and destroys particles from within shader programs. I've spent about an hour on it so far, and managed to get the basics set up. At the moment, I have the particles being contained in two buffer resources, being updated in the compute shader, and then being rendered on through the traditional rendering pipeline, with the geometry shader expanding the particles into view space billboards. The preliminary results can be seen below:
As you can see, the particles become lighter the farther from the origin they get. Currently they just use a static velocity for their update function, but that will change soon... Here are a couple other images a few seconds apart from one another.
Still to come is the ability for particles to be created and destroyed in the update shader, and then also a more interesting update function. In addition, I need to pick out a suitable texture to apply to the particles instead of having wireframe quads [grin]. More to come soon...