Dr Graham Treece, Department of Engineering
ENGINEERING TRIPOS PART IIA
Module 3G4 - Medical Imaging and 3D Computer Graphics
GLUT surface rendering demos

![]() | Example of using z-buffers (use the 'b' key to toggle the buffer on and off), and the middle mouse button to rotate. Executables: Windows, Linux. Source: glpuzzle.c. |
![]() | Example of how lighting is affected by the number of polygons and type of polygonisation. Executables: Windows, Linux. Source: tess.c. |
![]() | Example of the effect of coloured lights in coloured objects, and using flat and smooth shading. Executables: Windows, Linux. Source: lightlab.c. |
![]() | Example of working out the importance of multiple coloured light sources. Executables: Windows, Linux. Source: multilight.c. |
![]() | Example of moving positional lighting interacting with a plane and an object. Also planar shadow generation. Note the nasty specular effects on the corners of the object. Executables: Windows, Linux. |
![]() | Fun ... 'moth' flying around a light, with shadow generation. Executables: Windows, Linux. Source: moth.c. |
![]() | Fun ... and example of animating a walking object. Note the interpolated shading effects on the various parts of the object as it walks. Executables: Windows, Linux. Source file: glutmech.c. |
![]() | Example of lighting, shadows and 2D texture mapping on a teapot. Executables: Windows, Linux. Additional files: images.zip (must be unzipped one directory up from the executable). Source: teapot.c. |
![]() | Fun ... example of lighting through a window. Executables: Windows, Linux. Additional files: images.zip (must be unzipped one directory up from the executable). Source: tunnel.c. |
![]() | Example of the use of texture to generate an underwater effect. Also demonstrates use of positional and directional lighting. Executables: Windows, Linux. Additional files: underwater_files.zip (must be unzipped in the same directory as the executable). |
![]() | Example of using texture mapping to generate the reflection of an environment onto an object. Executables: Windows, Linux. Additional files: images.zip (must be unzipped one directory up from the executable). Source: gloss.c. |
![]() | Example of using texture mapping to mimic ray tracing. Executables: Windows, Linux. Source: ray.c. |
![]() | Example of textures and reflections by rendering a scene multiple times. Executables: Windows, Linux. Additional file: chess.inp (must be in the same directory as the executable). |
![]() | Example of using shadow z-buffers. Once found, the shadow z-buffer is rendered in the original scene as a transparent polygon, to generate the shadow. Executables: Windows, Linux. Source: shadow.c. |
![]() | Example of adding fog in a second rendering pass. Executables: Windows, Linux. Source: af_teapots.c. |
![]() | Fun ... and example of animating the interaction between various moving objects. Executables: Windows, Linux. Source directory: atlantis. |
![]() | Fun ... using fractals to generate realistic objects / scenes. Executables: Windows, Linux. Source: fractals.c. |
![]() | Fun ... and example of texture mapping and shadows. Executables: Windows, Linux. Additional files: images.zip (must be unzipped one directory up from the executable). Source: fire.c. |
(Mostly!) Copyright © 1997 Silicon Graphics Incorporated.
- Graham Treece
- Introduction
- Teaching
- Research
- Publications
- Software
- Videos
- Personal
- Medical Imaging Group
- Overview
- Members
- Projects
- Research Opportunities
- Free Software
- Machine Intelligence Homepage