jeff young  
  ::  home  ::  portfolio  ::  resume  ::  

     The end result of my studies with OpenGL was an application that builds scenes by parsing text files containing scene directives and polygon mesh definitions, simi liar in nature to the Renderman specification.
     Dr. John McDonald provided the application framework, RenderGL (developed by Dr. McDonald and Dr. Rosalee Wolfe), and the scene description format, rgl. I wrote all of the code to specification, demonstrating a particular graphics technique. Topics discussed in class include:

  •  basic OpenGL 1.3 architecture
  •  the OpenGL pipeline
  •  coordinate transformations and operation ordering
  •  homogenous coordinates
  •  Euler angle rotations
  •  world/camera transformations
  •  efficient, indexed mesh loading for large polygon arrays
  •  the viewing frustum and the projection matrix
  •  the Phong illumination model
  •  Lambert's law
  •  determining polygon orientation
  •  Gouraud shading and scanline interpolation
  •  Gouraud acute-angle shading
  •  texture mapping (planar, spherical and cylindrical projections)
  •  texture mapping seam repair
  •  Phong shading via polygon subdivision
  •  box mapping (reflection mapping)
  •  mip maps
  •  light mapping
  •  bump mapping

     The application and a number of rgl format scene files are provided below. The scene files were chosen to demonstrate a particular technique discussed during the course.

:: OpenGL ::
:: OpenGL downloads ::

     After extracting the zipped files, run OORenderGL.exe and open the included scene files (*.rgl) through File -> Open. Mesh definitions are found in 'include' under scenes, texture maps in 'maps'.

     :: Download RenderGL and scenes ->

     The images to the left are some of the scenes included in the zip file. Here's a description of each scene file.

  •  Flat Tea Party.rgl - Demonstrating the simplest of shading algorithms.
  •  Faceted Chess.rgl - A chess scene with 2 bishops and a pawn, shaded as faceted polygons.
  •  Faceted Office.rgl - An office scene with no texturing and faceted shading.
  •  Faceted Tea Party.rgl - What rendered scene is complete without a faceted teapot?
  •  Gouraud Tea Party.rgl - The tea party scene rendered with Gouraud shading.
  •  Gouraud Chess.rgl - The chess scene, this time with Gouraud shading applied to the pieces. From left to right, the shading is: faceted, Gouraud with no specular component, Gouraud with specular component.
  •  Gouraud Shapes.rgl - A set of shapes rendered with Gouraud shading. Also demonstrates the application's ability to handle the Gouraud angle shading problem, which limits the acuteness of an angle between polygons which receives shading.
  •  Gouraud and Phong Shapes.rgl - The same shapes, this time the sphere has Phong shading applied for comparison.
  •  Phong Chess.rgl - Three pawns rendered with 3 shading techniques, left to right: faceted, Phong and Gouraud.
  •  Phong Teapot.rgl - The ubiquitous teapot, this time rendered with Phong shading and demonstrating a large, efficient mesh manager (the teapot contains 25,440 polygons, loaded and indexed for quicker rendering).
  •  Textured Office.rgl - The office scene with texturing applied.
  •  Textured Planets.rgl - Spheres with spherical texture mappping applied to represent the Earth, Moon, and Mars.
  •  Textured Box and Sphere.rgl - A box and sphere with planar and spherical mapping applied. Both shapes use the same image file for texturing.
  •  Smoothed Office.rgl - The office scene again with texturing and shading.
  •  Lightmapped Chess.rgl - This scene file applies light mapping to one bishop in the scene (the darker one). The lightmaps are generated on the fly based on light information in the scene file and will be written into the directory from where the scene file is located. The maps are applied to the piece through an OpenGL cube map. The effect has been exaggerated in this scene to demonstrate it. Lightmapping offers a quick and efficient alternative to lighting through raycasting with a technique similar to using a cube map to fake reflection.

all content copyright © 2004-2005 jeff young