Note: Links are being fixed (12/8/07)


 mWave 2.0 

Last updated: December 31, 2002

This is the final demo which implements the paper correctly including the choppy wave algorithm. In porting it to DirectX, I didn't bother porting the ski model with physics, or the sky or tiling. It still gives a much better feeling for ocean waves than 1.0 though.


 MTR 

Last updated: December 21, 2004

This is a software 3D triangle rasterizer that uses only DirectDraw to put pixels on the screen. It draws the triangles using the painters' algorithm, so it will fail in some cases where the triangles can't be ordered by depth. For the demo I ported my metaball code from the project below.


 mClouds 

Last updated: March 10, 2003

This demo shows animated clouds generated by Perlin noise, which are generated without hardware support. I originally tried to use 3D acceleration to speed it up, and I posted in my LJ the things that were lacking.

The project was inspired by Hugo Elias' clouds page, which has a link to an impressive VGA DOS demo. Essentially, the algorithm generates a 32x32 Perlin noise texture, then tiles it to get 64x64, 128x128, and 256x256 noise textures. The smaller textures are then stretched to 256x256 using bicubic resampling, then they're added together, and finally an exponential filter is applied to the result. Before rendering, the blue component is pegged at max, and the red and green values are boosted. For animation, three noise textures are generated and blended in varying amounts, with new textures generated as old ones fade out.


 mRay 

Last updated: June 10, 2001

A simple ray tracer in OpenGL. Supports shadows, anti-aliasing, reflection, specular, ambient, and diffuse lighting. I haven't touched this source in two years, so it shows my limited knowledge of C++ and good programming practices. It does have structure though. Requires GLUT to build, but the exe is statically linked to it.