next up previous contents
Next: Contents

Advanced Graphics Programming Techniques Using OpenGL

Organizer:
Tom McReynolds
SGI

Copyright ©1998 by Tom McReynolds and David Blythe.
All rights reserved

SIGGRAPH `98 Course

Abstract:



This advanced course demonstrates sophisticated and novel computer graphics programming techniques, implemented in C using the widely available OpenGL library.

By explaining the concepts and demonstrating the techniques required to generate images of greater realism and utility, the course helps students achieve two goals: they gain a deeper insight into OpenGL functionality and computer graphics concepts, while expanding their ``toolbox'' of useful OpenGL techniques.





Speakers

David Blythe David Blythe is a Principal Engineer with the Advanced Graphics Software group at SGI. David joined SGI in 1991 and has contributed to the development of RealityEngine and InfiniteReality graphics. He has worked extensively on implementations of the OpenGL graphics library and OpenGL extension specifications. David is currently working on high-level toolkits which are built on top of OpenGL as well as contributing to the continuing evolution of OpenGL.

Prior to joining SGI, David was a visualization scientist at the Ontario Centre for Large Scale Computation. David received both a B.S. and M.S. degree in Computer Science from the University of Toronto.

Email: blythe@sgi.com

Brad Grantham Brad Grantham currently contributes to the design and implementation of SGI's high-level graphics toolkits, including the Fahrenheit Scene Graph, a collaborative project with Microsoft and Hewlett-Packard. Brad previously worked on OpenGL Optimizer, Cosmo 3D, and IRIS Performer.

Before joining SGI, Brad wrote UNIX kernel code and imaging codecs. He received a Computer Science B.S. degree from Virginia Tech in 1992, and his previous claim to fame was MacBSD, BSD UNIX for the Macintosh.

Email: grantham@sgi.com

Tom McReynolds

Tom McReynolds is a software engineer in the Core Rendering group at SGI. He's implemented OpenGL extensions, done OpenGL performance work, and worked on IRIS Performer, a real-time visualization library that uses OpenGL.

Prior to SGI, he worked at Sun Microsystems, where he developed graphics hardware support software and graphics libraries, including XGL.

Tom is also an adjunct professor at Santa Clara University, where he teaches courses in computer graphics using the OpenGL library. He has also presented at the X Technical Conference, SIGGRAPH '96 and '97, SGI's 1996 Developer Forum, and at SGI's 1997 OpenGL Developer's Workshop.

Email: tomcat@sgi.com

Scott R. Nelson Scott R. Nelson is a senior staff engineer in the High Performance Graphics group at Sun Microsystems. He works in the development of new graphics accelerator architectures and contributed to the development of the GT, ZX, and Elite3D graphics accelerators.

Before joining Sun in 1988, Scott spent eight years at Evans & Sutherland developing graphics hardware. He received a B.S. degree in Computer Science from the University of Utah.

Email: Scott.Nelson@eng.sun.com

Other Contributers

Celeste Fowler (Author) Celeste Fowler is a software engineer in the Advanced Systems Division at SGI. She worked on the OpenGL imaging pipeline for the InfiniteReality graphics system and on the OpenGL display list implementation for InfiniteReality and RealityEngine.

Before coming to SGI, Celeste attended Princeton University where she did research on radiosity techniques and TA'd courses in computer graphics and programming systems.

Email: celeste@sgi.com

Simon Hui (Author) Simon Hui is a software engineer at 3Dfx Interactive, Inc. He currently works on OpenGL and other graphics libraries for PC and consumer platforms.

Prior to joining 3Dfx, Simon worked on IRIS Performer, a realtime graphics toolkit, in the Advanced Systems Division at SGI. He has also worked on OpenGL implementations for the RealityEngine and InfiniteReality. Simon received a B.A. in Computer Science from the University of California at Berkeley.

Email: simon@3dfx.com

Paula Womack (Author) Paula Womack is a software engineer in the Advanced Systems Division at SGI. She has managed the OpenGL group at SGI, and was also a member of the OpenGL Architectural Review Board (the OpenGL ARB) which is responsible for defining and enhancing OpenGL.

Prior to joining SGI, Paula worked on OpenGL at Kubota and Digital Equipment. She has a B.S. in Computer Engineering from the University of California at San Diego.

Email: womack@sgi.com

Linda Rae Sande (Production Editor) Linda Rae Sande is a production editor in Technical Publications at SGI. A graduate of Northern Arizona University (B.S. in Physics-Astronomy), she has taught college algrebra and physical science courses and worked in marketing communications and technical training. As co-author of two physics laboratory textbooks and author of several production manuals, Linda Rae has many years of experience in book production and production coordination.

Prior to SGI, she was a production coordinator at ESL-TRW responsible for the TravInfo and TransCal transportation project documentation and deliverables.

Email: lindarae@sgi.com

Dany Galgani (Illustrator) Dany Galgani has provided illustrations to Technical Publications at SGI for over 9 years. He has illustrated hardware and software manuals, from user's guides to programmer's manuals.

Before that, he did commercial art for advertising agencies and book publishers, including illustrating books in Ortho's ``Do-It-Yourself'' series.

Dany received his degree in the Arts from the University of Paris as well as a CPA.

Email: danyg@sgi.com

Course Syllabus

8:30 A
Introduction (McReynolds)
8:35 B
Visual Simulation (McReynolds)
  1. Tiling Large Textures
  2. Anisotropic Texturing
  3. Developing LOD Models for Geometry
  4. Billboarding
  5. Light Points
9:20 C
Adding Realism (Blythe and McReynolds)
9:20
Object Realism (Blythe)
  1. Phong Shading
  2. Bump Mapping with Textures
  3. Complex BDRFs Using Multiple Phong Lights
10:00 Break
10:15
Interobject Realism (McReynolds)
4.
Shadows
5.
Reflections and Refractions
6.
Transparency

11:00 D
Image Processing (Grantham)
  1. OpenGL Image Processing
  2. Image Warping with Textures
  3. Accumulation Buffer Convolution
  4. Antialiasing with Accumulation Buffer
  5. Texture Synthesis and Procedural Texturing
12:00 Lunch

1:30 E
CAD (Nelson)
  1. Constructive Solid Geometry
  2. Meshing and Tessellation
  3. Numerical Instabilities and Their Cure
  4. Antialiasing Geometry
2:15 F
Scientific Visualization (Blythe)
  1. Volume Rendering
  2. Textures as Multidimensional Functions
  3. Visualizing Flow Fields (line integral convolution)
3:00 Break
3:15 G
Graphics Special Effects (Grantham)
  1. Stencil Dissolves
  2. Color Space Operations
  3. Photographic Techniques (depth of field, motion blur)
  4. Compositing
4:00 H
Simulating Natural Phenomena (McReynolds)
  1. Smoke
  2. Fire
  3. Clouds
  4. Water
  5. Fog
5:00 I
Summary, Questions and Answers (variable) All




next up previous contents
Next: Contents