  | 
  
    
Submitted by , posted on 24 January 2003
   | 
    | 
 
 
 
 
  
Image Description, by 
  
  
This is a screen shot, from my recently completed screen saver project. It can be downloaded from: 
http://www.scene.org/file.php?file=/demos/artists/fluid/fld_water.zip&fileinfo
  
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. 
  
Wayne Mike 
  
 | 
 
 
 
  
 
 |