This week I started implementing the particle system that will power the final version of the delivered demo. I’ve managed to implement all of the functionality that I entended for the system, exept for the emitters morphing conditions. So according my time plan I’m still in good shape, which feels awesome.
There is however a problem with the systems current design, and unfortunately I only realised that when I basically had finished its implementation. Again the problem has to do with the transparency of particles. All the particles are divided into groups that are used to keep track of all of the particles information. I then render the paricle groups individually, and this is where we find the problem. All of the particles in each particle group are sorted by their distance to the camera and are rendered correctly, and the different particle groups also gets sorted by the distance to the camera. This works really well as long as two groups don’t enter each others personal space, because the particles in different particle groups never gets sorted which means that some of the particles will be rendered in the wrong order. In hindsight I should have realised that this would be a problem as I faced the transparency issue when i made the prototype. But as luck would have it, I think I have a solution for this blunder :).
Unfortunately I woun’t be implementing my transparency solution next week, as I feel I need to think about it some more to really make sure that it will work. So next week I will instead start making the GUI for the editors. There will be three editors in total, one where you can create different particles, another where you can create the particles emitters, and one where you can test the different particle emitter and particles that you’ve made together. I’m confident that I’ll be done with the base of the editors that I can expand upon as the project develops further really early in the week (Monday or Tuesday morning), or rather I need to be done with them by then as I’ll also be implementing the emitters morphing conditions next week, which I have a few ideas for and would like to test them out to see which will work best.
I will tell you more about the particle system in the future, as i feel that it still might happen a lot of changes to the its final design. So bare with me because, as they say, good things comes to those who wait, and this is one of those times ;).