Next: B. GLUT, the OpenGL
Up: Advanced Graphics Programming Techniques
Previous: 20.5 Win32's Scheme for
  Contents
This list shows the demonstration programs available on the
Programming with OpenGL: Advanced Rendering web site at:
http://www.sgi.com/software/opengl/courses.html
The programs are grouped by the sections in which they're
discussed. Each line gives a short description of the program.
Modeling
- tvertex.c - show problems caused by t-vertices
- quad_decomp.c - shows example of quadrilateral decomposition
- tess.c - shows examples of sphere tessellation
- cap.c - shows how to cap the region exposed by a clipping plane
- csg.c - shows how to render CSG solids with the stencil buffer
- gen_normals.c - shows how to generate correct normals
Geometry and Transformations
- depth.c - compare screen and eye space z
- decal.c - shows how to decal coplanar polygons with the stencil buffer
- hiddenline.c - shows how to render wireframe objects with hidden lines
- stereo.c - shows how to generate stereo image pairs
- tile.c - shows how to tile images
- raster.c - shows how to move the current raster position off-screen
- frustum_z.c - shows an object and its place in view frustum
- inaccuracies.c - provides examples of precision inaccuracy problems
- hidden.c - shows how polygon offset works with depth range
- stereoview.c - shows how to do stereo viewing right
- clipwide.c - shows how to avoid clipping wide lines and points
- distort.c - shows how to correct projection distortion using texture
- locate.c - shows how to pick objects and highlight them
Occlusion Culling
- occull.c - shows how to compute an occlusion map and test against it
Texture Mapping
- mipmap_lines.c - shows different mipmap generation filters
- genmipmap.c - shows how to use the OpenGL pipeline to generate mipmaps
- textile.c - shows how to tile textures
- texpage.c - shows how to page textures
- mippage.c - shows how to page a mipmapped texture
- textrim.c - shows how to trim textures
- textext.c - shows how draw characters with texture maps
- terrain.c - shows how to do elevation color coding and metrics
- contour.c - shows hot to do contouring
- projtex.c - shows how to use projective textures
- cyl_billboard.c - shows how to do cylindrical billboards
- sph_billboard.c - shows how to do spherical billboards
- warp.c - shows how to warp images with textures
- noise.c - shows how to make a filtered noise function
- spectral.c - shows how to make a spectral function from filtered noise
- spotnoise.c - shows how to use spot noise
- tex3dsolid.c - renders a solid image with a 3d texture
- tex3dfunc.c - creates a 2d texture that varies with r value
- makedetail.c - shows how to create a detail texture
- detail.c - shows how to use a detail texture
- aniso.c - shows how to create and use anisotropic textures
- cutaway.c - shows how to create a gradual cutaway
Line Rendering Techniques
- haloed.c - shows how to draw haloed lines using the depth buffer
- silhouette.c - shows how to draw the silhouette edge of an object with the stencil buffer
- solid_to_line.c - shows how to draw solid objects as lines
- overlap.c - shows how to draw wide, smoothed line loops with rounded edges
Blending and Compositing
- comp.c - shows Porter/Duff compositing
- transp.c - shows how to draw transparent objects
- imgproc.c - shows image processing operations
- transparent.c - shows transparency, ordering, culling interactions
- zcomposite.c - shows how to composite depth-buffered images
Antialiasing
- lineaa.c - shows how to draw antialiased lines
- texaa.c - shows how to antialias with texture
- accumaa.c - shows how to antialias a scene with the accumulation buffer
- aalines.c - more on antialiased lines
- aasolid.c - shows how to antialias solids
Lighting Techniques
- envphong.c - shows how to draw phong highlights with environment mapping
- lightmap2d.c - shows how to do 2D texture lightmaps
- lightmap3d.c - shows how to do 3D texture lightmaps
- bumpmap.c - shows how to bumpmap with texture
- fresnel.c - shows an example of how to render Fresnel reflections
- anisolight.c - shows an example of how to render anisotropic reflections
Scene Realism
- genspheremap.c - shows how to generate sphere maps
- mirror.c - shows how to do planar mirror reflections
- projshadow.c - shows how to render projection shadows
- shadowvol.c - shows how to render shadows with shadow volumes
- shadowmap.c - shows how to render shadows with shadow maps
- softshadow.c - shows how to do soft shadows with the
accumulation buffer by jittering light sources
- softshadow2.c - shows how to do soft shadows by creating lighting
textures with the accumulation buffer
Transparency
- screendoor.c - shows how to do screen-door transparency
- alphablend.c - shows how to do transparency with alpha blending
Image Processing
- convolve.c - shows how to convolve with the accumulation buffer
- cmatrix - shows how to modify colors with a color matrix
Special Effects
- dissolve.c - shows how to do dissolves with the stencil buffer
- motionblur.c - shows how to do motion blur with the accumulation buffer
- field.c - shows how to achieve depth of field effects with the accumulation buffer
with the stencil buffer
Illustration and Artistic Techniques
- npr.c - shows how to implement a non-photorealistic lighting model
- hatch.c - shows how to do 3D cross-hatching
- 2d.c - shows how to do 2D rendering
- join.c - shows how to do various styles of line joins
- paint.c - shows how to generate an abstract image from a source image
Scientific Visualization Techniques
- plate.c - shows simple scalar field visualization
- vol2dtex.c - volume visualization with 2D textures
- vol3dtex.c - volume visualization with 3D textures
- lic.c - shows how to compute a line integral convolution
- illumline.c - shows how to use lit stream lines for vector field visualization
Natural Phenomena
- smoke.c - shows how to render smoke
- smoke3d.c - shows how to render 3D smoke using volumetric techniques
- vapor.c - shows how render a vapor trail
- texmovie.c - shows how to create a texture movie
- fire.c - shows how to animate fire
- explode.c - shows how to create an explosion
- dscloud.c - create a cloud image using diamond-square technique
- cloud.c - shows how to render a cloud layer
- cloudlayer.c - shows how to create ground fog
- cloud3d.c - shows how to render a 3D cloud using volumetric techniques
- fire.c - shows how to render fire using movie loops
- water.c - shows an example water rendering technique
- bubble.c - shows an example of how to render a bubble
- underwater.c - shows an example of rendering an underwater scene
- lightpoint.c - shows how to render point light sources
- particle.c - shows how to create particle systems
- snow.c - shows an example of rendering falling snow
- rain.c - shows an example of rendering falling rain
Application Tuning
- complexity.c - shows how to visualize depth complexity for a scene
Next: B. GLUT, the OpenGL
Up: Advanced Graphics Programming Techniques
Previous: 20.5 Win32's Scheme for
  Contents
2001-01-10