 
 
 
 
 
 
 
  
 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