Next: 22. GLUT, the OpenGL
 Up: Advanced Graphics Programming Techniques
 Previous: 20.5 Win32's Scheme for
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: 22. GLUT, the OpenGL
 Up: Advanced Graphics Programming Techniques
 Previous: 20.5 Win32's Scheme for
David Blythe
1999-08-06