the Utah teapot

    In my computer graphics classes at CMU, and here at work currently, I've been doing some interesting 3D graphics work with OpenGL. A few projects dealt with using splines to construct curves in space, using keyframe animation, and writing a ray caster. An image or two from the various projects are below. Also studied were Bezier patches, Fourier transforms, and more rendering techniques. At work I've done projects dealing with volume rendering, real-time physical simulation, and model animation. And the list grows...

    Ever since I bought a Silicon Graphics workstation, and now particularly with my Linux PC and nVidia GeForce 2 card, I've been working with the OpenGL graphics API to work on some pretty interesting projects. I love the simplicity and speed of OpenGL; very intuitive and straightforward. My current project, while not doing 3D graphics hacking for dsBOX's main product, is porting a small subset of the OpenGL API to the Palm Computing platform. I know, it's crazy. But fun. Check for status on the miniGL page over at

Some images I've created: (all images © Michael J. Sherman)
Latest screenshot from the dsBOX JVAT Profiler 3D module. Custom 3D engine written in C++ using OpenGL. 3D models exported from 3D Studio Max. 800x620 JPEG image. November 2000.
Screen grab from a physics-based test program for inellastic collisions. Real time graphics done in OpenGL. 457x405 JPEG image. December 1999.
Screen grab from a real-time smoke screen generator simulation. Used for the Army SETS (Smoke Employment Training System) project at Sonalysts, Inc. Polygonal and volumetric rendering done in OpenGL. 542x478 JPEG image. May 1999.
Screen grab from an animation rendered using my own raycaster written in C. 640x480 JPEG image. November 1997.
Screen grab from a keyframe animation program built from scratch for a Computer Graphics I project (includes modeler). OpenGL was used. 450x337 JPEG image. October 1997.

My real interest is in the field of physically-based modeling using 3D real-time computer graphics. I've been doing my work with OpenGL, SGI's 3D graphics library, and I'm liking it more and more... In particular, I'm using many of the GLX extensions to your standard X server to combine OpenGL and the Motif widget set in visualization applications that run under the X Windowing System. Cool stuff.

Stuff you can steal:

  • minigl_SIGGRAPH_2000/ - miniGL sketch for SIGGRAPH 2000
  • spline.c - code for Bezier splines

    For 2D graphics (like the title graphic at the top of this page) I use the GIMP, or GNU Image Manipulation Program, which was developed by Spencer Kimball and Peter Mattis. It runs only on UNIX machines running the X Windowing System, and allows functionality almost on par with Photoshop! That along with XV, imgworks, and ImageMagick covers everything I need to do to make some pretty interesting graphic images on my Indy and Linux PC.


  • SIGGraph 2000
  • SIGGraph '99
  • SIGGraph '98
  • SIGGraph '97
  • UNIX
  • BMRT
  • RenderMan Repository
  • Java Bindings for the RenderMan API
  • OpenGL
  • Silicon Graphics, Inc.
  • Alias|Wavefront
  •   Michael J. Sherman