Home C++ Lua GitHub Games Math Myself Contact

Relaxation Screensaver

This project started back in my DJGPP days as a particle system test. You would load in a model and it would shoot particles out the vertices as it flew about the screen. I included this in the 'oldschool' if the bin version - 'Relaxation SS v.2001.' Just to warn you, that's the one and only that requires an external file for its 3D point information: 'sphere.3d.' I can't even remember the old 3D format I used. Probably something like follows:

 int vertex_count;
 int face_count;
 float vertices[vertex_count][3];
 int face_indices[face_count][3];

But don't take my word for that. In this version the emitter traveled about the screen linearly and probably bounced off the walls of a bounding box or something like that. Connect-the-dots-style.

For the next version I decided to make everything as smooth as I could. I replaced the bounding box boundary with sine waves (with unique probably non-factoring periods - to prevent path repetition) which controlled the emitter origin along each axis. This looks pretty, but the lines still aren't as fulfilling a visual experience as they could be.

So I fixed that. I added some thickness to the emitted particle streams. I replaced the buffer clear with a blend fade-out, and I think I also applied a plasma fractal texture over the back and viola.

For all you anime fans out there, tell me this doesn't remind you of Kain from Tenchi Muyo in Love? What a flippin' sweet villain. That was one of my favorite movies. Props to Sci Fi channel for showing it some early Saturday mornings way back in the day.

Download the Windows Binary Here
Download the Source Code Here