This is a screen shot, from my recently completed screen saver project. It can be downloaded from:
if the above link does not work then the scene.org admin have moved
the file to our main directory
http://www.scene.org/dir.php?dir=/demos/groups/fluid/ look for fld_water.zip
All code was done in Microsoft C++ and MASM.
The screen saver is 100% software rendered.
The only major problem i had developing the screen-saver, was trying to maintain a decent
frame-rate. The image cycling mode blends two images together in real time using no look-up
tables, at first i just used a standard linear interpolation something like the below:
c = (cb * t + cf * (1 - t))
that was done for every color component (r,g,b) on a 512x384 surface. yes it was slow, far to
many calculations were being performed to acheive the effect, in the end i put together an alpha
blending function using MMX instructions. the function works on two color components at a time
and the results were very fast. Infact i had enough cpu cycles left to perform anti-aliasing.
Screen saver settings include:
3 diffrent backgrounds,
and an image cycling option, that cycles through the 3 available backgrounds using alpha blending.
Hope you enjoy the screen shot, and screen saver.