Professional Documents
Culture Documents
Course Speakers: Mike Bailey, Oregon State University Andrew Glassner, Coyote Wind Films
The SIGGRAPH conference is an exciting event, but it is often an intimidating experience for first-time attendees. There are so many new terms, new concepts, and new products to try to understand. It is like standing in a room with 100 doors and having no idea which door to open because you have no idea what the label on each door actually means. This leaves new attendees baffled and frustrated about how to spend their time. This course is designed to ease newcomers into the SIGGRAPH conference experience by presenting the fundamental concepts and vocabulary at a level that can be readily understood. Far from being made up of dry facts, this course will also portray the fun and excitement that led most of us here in the first place. Attendees in the course will become well-prepared to understand, appreciate, enjoy, network, and learn from the rest of the SIGGRAPH experience. This is a half-day Beginning course. This course will be given lecture-style. There will be live demos showing the use of computer graphics in applications such as modeling, animation, rendering, and visualization. These will be used to illustrate fundamental concepts and to illustrate those concepts in applications.
Lecturers:
Mike Bailey Computer Science Oregon State University 2117 Kelley Engineering Center Corvallis, OR 97331-5501 W: 541-737-2542 F: 541-737-1300 mjb@cs.oregonstate.edu Mike Bailey is a professor in Computer Science at Oregon State University. Mike holds a PhD from Purdue University. Mike has worked at Sandia National Labs, Purdue University, Megatek Corporation, and the San Diego Supercomputer Center. Mike has extensive experience with the SIGGRAPH courses, having been Courses Chair five times and Conference Co-Chair in 1991. Mike has taught numerous classes at conferences (SIGGRAPH, IEEE Visualization, Supercomputing), at the college level (Purdue, UC San Diego, San Diego State University, Oregon State University), and
commercially. Mike was five times voted Computer Science Teacher of the Year by the UCSD CS seniors.
Andrew Glassner Coyote Wind Films 726 North 47th Street Seattle, WA 98103 W: 206-632-7663 F: 206-632-7665 andrew@glassner.com Andrew Glassner is an independent writer and consultant. Andrew holds a PhD from the University of North Carolina at Chapel Hill. Andrew is well known in the SIGGRAPH community through his papers, panel presentations, and course speaking. Andrew has also worked at Xerox PARC, IBM Watson Research Lab, Bell Communications Research, Delft University, the New York Institute of Technology, and Microsoft Research. Andrew is familiar with the workings of SIGGRAPH, having been Papers Chair in 1994. Andrew is also known for his "unique" sense of humor that comes through in his presentations.
Prerequisites
The prerequisites for this course are a basic understanding of computers and algebra. We will fill in all other required knowledge by carefully planning the order of presentations.
Level of Difficulty
Beginner
Intended Audience
This course is intended for the complete newcomer to SIGGRAPH and computer graphics who wants to learn some of the basic terms and concepts in computer graphics as well as receive some guidance on how to get the most out of attending SIGGRAPH.
Course Syllabus
8:30: Welcome and Overview (Bailey) o Course goals and schedule 8:30 9:00: How to attend a SIGGRAPH, I (Bailey) o How to read the schedule and where to get more help o What other courses will attending this one qualify you for? o What is the difference between Papers and Panels? o What are Posters? o What is the Educators program? o What to look for in the Exhibition, and advice on getting the most from it in a short time 9:00 9:30: How to attend a SIGGRAPH, II (Glassner) o Why you want to attend the Electronic Theatre and when o How is the ET different from the Computer Animation Festival? o What is the difference between Papers and Sketches? o What is special about the Art Gallery? o What is Emerging technology about? o What is the Guerilla Studio? 9:30 9:45: Scientific and Data Visualization (Bailey) o What problems are you trying to solve? o How does this impact hardware and software decisions? 9:45 10:15: GPU Programming (Bailey) o Vertex, Geometry, Fragment shaders o Where does this fit in the graphics pipeline? o What you can do with shaders -- effects, visualization, geometry o How does this affect buying a graphics card? 10:15 10:30: Morning Break 10:30 11:00: Modeling (Glassner) o The creation of 3D models o Scene descriptions o Levels of detail o Model "robustness" versus complexity o Geometric primitives 11:00 11:30: Rendering (Glassner) o Efficiency, Accuracy, Effects o Two approaches: start at the object and start at the eye o Local and global illumination o Shading o Cel rendering o Toon rendering o Rendering in Hardware 11:30 12:00: Animation (Glassner)
o o o o
Keyframe interpolation Object geometry animation Camera animation Kinematics and inverse kinematics
Mike Bailey
Professor of Computer Science, Oregon State University PhD from Purdue University Has worked at Sandia Labs, Purdue University, Megatek, San Diego Supercomputer Center (UC San Diego), and OSU
mjb@cs.oregonstate.edu
Andrew Glassner
Author, screenwriter, artist from Coyote Wind Studios PhD from the University of North Carolina Chapel Hill Has worked at IBM, Bell Communications, Delft University, NYIT, Xerox PARC, Microsoft Research, and Coyote Wind Studios
andrew@glassner.com
Course Goals
Understand the different venues at SIGGRAPH, and how to strategically attend the ones that are best for you Provide a background for papers, panels, and other courses Help appreciate the Electronic Theater Get more from the vendor exhibits Give our take on where the future is Provide pointers for further study
Topics
How to Attend SIGGRAPH 2007 (Mike and Andrew) Scientific and Data Visualization (Mike) GPU Programming (Mike) Modeling (Andrew) Rendering (Andrew) Animation (Andrew) Finding More Information (Mike)
Andrew Glassner
Coyote Wind Studios
andrew@glassner.com
You cant see it all, so Think Strategically -- Make a Plan and a Schedule !
Courses
Sunday Wednesday Some are standard knowledge (e.g., this one) knowledge one Some are cutting edge Some are new topics You got the full set of notes on the courses DVD
Courses Strategy
Choose courses that are useful Choose courses that are meaningful Chose courses where you really want to see the speaker(s) speaker(s) Choose courses for which there will be great visual presentations which cannot be replicated in the notes Hop around between courses to catch the best topics and speakers
Web Program
Wednesday - Thursday Covers issues such as: navigation, 3D interfaces, applications, animations, games, and standards
Opening Session
Monday, 1:15 3:15 Doors open 12:30 Only those with Full Conference or One Day badges can enter State of the SIGGRAPH message by the SIGGRAPH Chair SIGGRAPH
Papers
Monday-Thursday Monday Deep technical information Printed in the proceedings and on the conference DVD Strategy: attend when an animation or interactive technique is being discussed Strategy: attend when you think you will not understand the topic from reading alone
Panels
Monday-Thursday Monday General discussion, opinion, sometimes controversial Important point: sometimes transcribed, usually not Strategy: attend when a topic, speaker, or animation you really want to see is being discussed
Sketches
Monday - Thursday Paper-like content, but shorter and less formal Paper Some of the work has been completed Some of it is Work in Progress Progress
Special Events
Fast-Forward Papers review: Sunday 6:00-8:00 Fast6:00 ACM Student Research Competition: Tuesday, 3:45-5:30 3:45-
Exhibition
Tuesday Thursday Many vendors time their hottest product releases for this week! But, its big, so go with a strategy! it
Exhibition Strategy
The Exhibition is open 10:00-6:00 on Tuesday and 10:00Wednesday, and 10:00-5:00 on Thursday 10:00 The vendors are all listed in the Program and Buyers Guide Buyer They are listed both by alphabetical name and by product category
Exhibition Strategy
Look at the list of vendors in the Program and Buyers Guide Make a list of the ones you really must see and sort the list by booth number Booth numbers are XXYY, where XX is the Aisle # and YY is (1/5)*the number of feet from the front For example, BunkSpeed = booth 1110, which is Aisle 11, 50 feet from the front Start at one end of the floor and work your way across
Exhibition Warning
Electronic Theatre
Monday Wednesday Computer Graphicss greatest animation hits for Graphics the past year It is considered cool to see it early in the week Watch to see whose piece goes first and whose goes last Sometimes includes an audience participation piece
Reception !
Wednesday 8:00 10:00
Pathfinders
Staffed by graphics veterans who can give advice on veterans attending the conference They are also very nice people Open Saturday Thursday
Art Gallery
Sunday Thursday Always fun ! Be sure to see it, even if you just stroll through without stopping
Get Involved !
Tuesday, 6:30 PM
Educators Program
Wednesday and Thursday Presentations of innovative educational uses of computer graphics Covers both teaching computer graphics and using computer graphics to teach other things
Emerging Technologies
Sunday - Thursday Speculative research on graphics, visualization, robotics, music, audio, displays, haptics, sensors, haptics, gaming, web, AI, and entertainment
Guerilla Studio
Sunday - Thursday Working studio for 2D and 3D graphics, and 3D prototyping
Job Fair
Tuesday Wednesday Good place to find information on who is hiring Also a good place to post your resume
Birds of a Feather
Opportunity for impromptu gatherings centered around different topics All week Check the BOF sign-up board sign-
Andrew Glassner
Coyote Wind Studios
andrew@glassner.com
Not all computer graphics is used for realistic rendering, animation, and games. Much of it is used for data exploration and education. Visualization provides very nice examples of that.
Computer Graphics
Geometry
Rendering
Display
Smooth Shaded
Transparent
Scientific Visualization
Data
Geometrizing
Geometry
Information & Insight
Rendering
Display
Visualization Dimensions
Spatial Dimension 2D 3D
Vector
2D Scalar
Examples: Temperatures on a plane Barometric pressures on a map Heights on a map Techniques: Colored dots Contour lines Interpolated Colors
2D Color Interpolation
2D Contours
3D Scalar
Examples: Temperatures in a room Molecular potentials Techniques: Colored dots (point cloud) Cutting plane Isosurfaces
Cropping in X, Y, Z
Cropping in S
3D Polygonal Isosurface
10
11
3D Vector
Examples: 3D flow field
3D Flow Field
Streamlines
Vector Cloud
12
Streamline Trace
13
3D Volume
14
Original Data:
15
16
Bone Structure
Setting Colors
Red+Green=Yellow Green+Blue=Cyan Red+Blue=Magenta Red+Green+Blue=White Known as Additive Color, or RGB
glColor3f( r, g, b );
17
Rods: Provide perception of light intensity, or luminance. Lots of these, mostly concentrated in the periphery of your field of vision. Cones: Provide perception of colors. Much fewer of these, mostly concentrated in the center of your field of vision.
Color Rules
Remember the Luminance Equation: L = .30R + .59G + .11B Use it to decide what makes a good contrast and what doesnt
18
Black White
Black White
Black White
Black White
Black White
Black White
Black White
Black White
Black White
Red
Red
Red
Red
Red
Red
Red
Red
Red
Color Rules
19
Reds and Blues are on opposite ends of the color spectrum. It is hard for your eyes to focus on both.
Color Rules
The best colors for fine detail are black-grey-white. This is especially true if you are going to be videotaping this display.
20
Color Rules
Surround contrasting color areas with a white or black line
21
Color Rules
Be aware that our perception of color changes with: The surrounding color The size of the object How close two objects are The ambient light The age of the viewer
22
23
24
Color Rules
Watch out for afterimage effects !
25
Color Rules
Watch out for afterimage effects !
26
Actual Intensity
Perceived Intensity
27
Visualization Hardcopy
Film recording Color printing Videotaping Manufacturing
28
29
Oregon
30
Tesselated by OSU vs (Volume Solid) Fabricated at OSU Center for Visualization Prototypes
31
Summary
Scientific Visualization has no rules. Anything that turns data in the computer into information and insight in your brain is fair game.
32
Allows programmers to load their own code into parts of the hardware graphics pipeline Gives a unique combination of control and speed This is a hot, new area in computer graphics These notes will focus on what can be done this way, not on how to do it (that would take lots more time) If you want to know more, catch me during a break!
Input Devices
Network
Shader Memory
Uniform variables
Display List
Z-Buffer
Back
Front
Video Driver
Texture Memory
Double-buffered Framebuffers
Positional Noise
Gradient Noise
4 Octaves
1 Octave
4 Octaves
Use the new coordinates in the old equation to assign a color at that pixel
Noise Examples
Negatives
Brightness
Contrast
Sharpening
Embossing
Toon Rendering
Original Image Colors Quantized Outlines Added
Mandelbrot Set
zi+1 =
z +z
2 i
Julia Set
zi+1 =
z +c
2 i
Rainbow Effects
~ 41
Color
Red Green Blue
42 41 40
cos
0.743 0.755 0.766
Rainbow Strategy
1. Draw one big quadrilateral across the scene 2. Anywhere that .7400 cos() .7700, paint the right color 3. If not, discard that fragment
Original image
At each fragment:
1. 2. 3. Find the flow field velocity vector there Follow that vector in both directions Blend in the colors at the other fragments along that vector
Vertices
CPU
B u s
Assemble Geometry
Assembled Primitive
Rasterizer
Interpolated Values
Fragment Processor
Pixels
Expanding 4 Points into a Bezier Curve with a Variable Number of Line Segments
FpNum = 5
FpNum = 25
Level = 3
Level = 2
Shrinking Triangles
Geometry Silhouettes
Hedgehog Plots
http://eecs.oregonstate.edu/~mjb/glman
Mike Bailey
Oregon State University
mjb@cs.oregonstate.edu
An Introduction To Modeling
Andrew Glassner Coyote Wind Studios
Light Sources
Radiate light Have size and shape
Mechanics
Fit between parts Manufacturability
Objects
Physical structures
Model Attributes
Structure
Geometry and Topology
Levels of Detail
Visual detail for images Structural detail for simulation
Appearance
Looks and surfaces
Seeing in 3D
The world in basic shapes Simple but not too simple
Procedural objects
More detail when you want it
Types of Modelers
Interactive Scripted Data Collection Others
<A
Model Manipulation
A>
Primitives and Instances
Platonic ideal Shapes are instances of primitives Each instance may be different
Model Cost
Designers time Computer Storage Rendering Time Simulation Time Ease of Animation
Model Effectiveness
Geometry
Looks Accuracy
Model Complexity
Number of primitives Number of shapes Complexity of each instance
Appearance
Looks Accuracy
Model Simulation
Is shape matched to simulator? Cost of conversion
Time and storage Maintaining duplicate versions
Model Animation
Articulation
Getting at the part you want Getting it to move correctly
Levels of Detail
Use only enough detail
Complexity costs
Procedural Models
Create model on demand Models from coarse to fine Requires skillful programming
Automatic Methods
<B
Box Modifiers
9
10
11
B>
12
Free-Form Deformation
Change the space, not the object Great for animation Allows flexible transformations
Bend, twist, taper, melt, etc.
<C
FFD
13
C>
Types of Primitives
0 1 2 3 Dimensions: Points Dimension: Lines Dimensions: Surfaces Dimensions: Volumes
Point Primitives
Particle systems Requires many particles Often procedurally controlled
14
Surface Primitives
Polygons Patches
Polygons
Simple to define and use Assemble to make polyhedra Flat Flat Flat Really, really flat, always
<D
Polygon shading
15
16
D>
<E
Polygon counts
17
E>
Images by Neil Blevins
18
Patches
Naturally curved Defined by control points or curves Interpolating Approximating
Approximation
Continuity
0-order 1-order 2-order
Types of Patches
Bezier B-spline Bicubic NURBS many more
19
20
21
<F
Mesh Smooth
22
F>
Voxels
Small blocks of space Equally-sized (grid) Varying sizes (octree)
Volumetric Primitives
Volumes that enclose some space Open vs. closed Can be complex, e.g. a donut
Original Shape
Voxel Approximation
<G
CSG
23
CSG
B
Union: A + B
B
A- B B-A
Block + Cylinder
Block - Cylinder
24
G>
Algebraic Functions
Blobs
Algebraic functions, usually spherical Add together to make smooth blends
F(x,y)=0
F(x,y)= x2 + y2 - radius2
25
<H
Blobby movie
Surface of Revolution
Make an outline Revolve it
26
Extrusion
Make an outline Sweep it along a line or curve
H>
<J
Morph
27
J> K>
<K
Sheets
Shading
28
29
30
31
Texture
32
33
34
<L
Solid Texture
35
L>
Knotwork
36
37
38
39
40
Texturing Methods
41
Native Mapping
Planar Mapping
Native Mapping
Native Mapping
Cylindrical Mapping
Planar Mapping
42
Shrink Mapping
Spherical Mapping
43
Procedural Models
Fractals Graphtals Shape Grammars General Procedural Models
Fractals
Self-similar Infinite detail
Computer only approximates
Graphtals
Make the structure first Add geometry later Useful for plants and organic forms Data Amplification
44
Shape Grammars
Shapes that turn into other shapes Details that work with substrate Data Amplification
45
2D Variations
46
47
48
49
50
3D Shape Grammars
51
52
53
54
55
56
57
58
59
Modeling Environments
Interactive Scripted Captured Clip Art
Interactive Modeling
Interactive Exploratory Immediate Feedback
Scripted Modeling
Precise Repeatable
60
Physical Models
Build up 3D intuition Stretches visual imagination
61
62
Captured Modeling
Allows capturing real-world shapes Generates rich models Can be noisy Can have geometric restrictions
Clip Art
Fast acquisition Can be cheaper May not be articulated as you want Difficult to customize
Conclusions
Many primitives Many modelers Use what you need modeler, primitive, construction
style, and level of detail
63
64
65
An Introduction To Rendering
Andrew Glassner Coyote Wind Studios
Rendering Roots
The Visual Arts
Painting, Sculpture
Physics
Studying nature
Computers
Efficient algorithms
What is Rendering?
Turning ideas into pictures Communications tool A means to an end
Approaches to Rendering
Simulate Nature Anything else
Simulating Nature
Advantages
Precise goal Path is clear Practical value
Disadvantages
Ignores other styles
Photorealism
The Big Winner so far
coined in 1968 just one school of art alternatives emerging
Todays view
Rendering as commodity Buy, dont write Still requires care
Efficiency Accuracy Effects
Rendering
Transformation Inputs
Geometry, physics, programs, images, perception
Output
Images
High-level understanding
Not programming!
Rendering
Interaction of Light and Matter
Light Matter
The Interaction
Light arrives Energy transfers Light departs
Shading
1. Calculate incident light 2. Interact with material 3. Calculate outgoing light
Visibility
What do I see? Paint by numbers
Shading
Fill in the numbers Dont stick to flat colors
Shading
How it looks
Global shading
Do it slow and correct Worry, be happy
Visibility: Paint-by-numbers
8 4 5 7
Why do it globally?
Shadows Reflections Refraction (transparency) Emissions (light sources) Subtle touches
3 1
Why do it locally?
Often close enough Fast! Hardware support Many effects can be faked Unlimited scene size
Ray Tracing 2
Shoot new rays to find illumination
Ray Tracing
Ray Tracing 1
Follow lines of sight
10
11
Radiosity 1
Discretize the environment
Radiosity 2
Bounce energy back and forth
Radiosity
12
Radiosity 3
View results
13
14
Lighting
15
16
Hardware support
Z-buffers
Inifnite # of objects Local shading Fast Many tricks available
Image-Based Rendering
Some photos Some geometry
Rendering at extremes
Atoms
or sub-atomic particles
Sue Vision
Galaxies
or the Milky Way
17
Computer Graphics
Output
Model
Computer Vision
Output
<A
Alpha Maps
Model
Real Scene
Real Cameras
CG Meets CV
A>
18
<B
Street Barricade
B>
<C
Patio Table
19
20
C>
21
Fluorescence
Solar Halos
22
23
24
Halo Movie
25
Interference
26
Relativity
27
Polarization
Phosphorescence
28
29
Caustics
Focused light
30
Volumetric Effects
Non-Euclidean Space
31
Exposure
Cameras Lenses Films Intended viewing conditions
Animation
Film: 24 frames/second
30 minutes = 43,200 frames More for TV!
Motion blur
32
Color 2
Devices vary
Printers vs. monitors
Perception matters
Metamers Diet, recent conditions
Interpolation is tricky
RGB is not perceptually uniform
Non-Realistic Rendering
Color 1
The The The The The RGB Myth HSV Myth 8-bit Myth Constancy Myth Fifth Myth with pith
33
Real Materials
Absorption spectra Layers or coatings Phosphors, fluorescents Metals
34
Reflectivity of Paper
Images 1
Frame buffers
Pixels 8 bits/color
Samples
1 sample/pixel Supersampling
Images 2
Storage
Components
Integer, Floating point
Symbolic
Compression
Lossy (MPEG, JPEG) Non-lossy (GIF) Speed vs. space
35
Compositing
Layering of images Backgrounds, foregrounds Real Projection Mattes
Matte lines Matte operators Alpha buffers
36
37
The future 1
Photorealism grows
More accuracy More speed Parallel algorithms
The future 2
Desktop animation
Sophisticated support Standards and architectures Rendering one piece among many
Image Credits
Discontinuity Meshing: Dani Lischinski, Filippo Tampieri, Donald P. Greenberg Opera Lighting: Julie O'B. Dorsey, Francois X. Sillion, Donald P. Greenberg Radiosity Factory and Museum: Michael F. Cohen, Shenchang Eric Chen, John R. Wallace, Donald P. Greenberg Two Pass Rendering: John R. Wallace, Michael F. Cohen,Donald P. Greenberg 3 teapots, Caustic Pool: Eric Veach Summer Lake: Matt Pharr, Craig Kolb, Reid Gershbein, Pat Hanrahan Color Head: Philippe Lacroute, Marc Levoy Material Vases: Rob Cook, Kenneth Torrance 1984: Tom Porter, Rob Cook, Loren Carpenter The Compleat Angler: Turner Whitted Still Life: Cassidy Curtis Focused Caustics: Paul Heckbert TV Room: Bob Zeleznik, Andy Forsberg, Loring Holden Big Cloud: David Ebert Interior: Michael Fowler Sphereflake, Counter, Camshaft, Liberty Set, Ronchamps: Eric Haines
38
Thanks
Michael F. Cohen Peter-Pike Sloan Jonathan Shade Paul Debevec Marc Levoy
39
40
41
42
Animation is Expensive!
30 frames/second 30 minutes = 54,000 frames 5 minutes/frame, 12 hours/day ~ 1 year Limited animation Computer-assisted animation
Traditional 2D Animation
Hand-drawn cels Stacks of cels over background Only redraw cels that change
Limited animation
Experimental forms
Traditional 3D Animation
Individual frames Stop motion
King Kong, Wizard of Space & Time
Puppetry
Claymation
Experimental forms
Computer-Assisted Animation
2D
Create & draw frames Computer helps ink & paint
Computer-Assisted Animation
3D
Create models, sets, poses Computer interpolates Computer renders, composes
2D Computer Animation
What gets interpolated?
Strokes Outlines Colors
High-quality compositing
2D Morphing
Image interpolation Feature matching Multiple layers
3D Computer Animation
What gets interpolated?
Shape geometry Shape appearance Light source information Cameras Anything!
3D Computer Animation
1. Interpolate 2. Render 3. Compose
Object Animation
Location Geometry Transformations & deformations Appearance and textures Light sources
10
Camera Animation
FOV Focal length Position & orientation
Object Interpolation
Parameterized transformation
Rotation Scaling Deformation
11
12
3D Animation Methods 1
Low level manual High level manual Automated
Parametric Interpolation
Any number of parameters User-specified smoothness Transformation & deformations Parameter source
User Measured (rotoscope, mocap) Procedural
13
Kinematics
Specify position and time Give velocity, acceleration of parts Nested interpolation Each transformation accessible
14
Bouncing Ball
15
16
Bounce
17
Squash
18
Path
19
Path
20
Inverse Kinematics
Goal-driven Supports constraints Control what you care about
Let computer fill in the rest
21
IK
22
Constraints
Parametric restrictions Aids in inverse kinematics
Put the foot on the ground
23
Dynamics
Physical simulation Based on physics Requires physical data
Mass, center of mass, moments of inertia, friction, etc.
24
Simulation
Precompute model parameters May be expensive Many methods available Complex motion
Flocking Cloth Liquids
25
Dynamics
26
Cloth films
27
28
29
30
Wizard
31
Parameterized Motion
Capture Synthesize
MOCAP processing
The Process of Motion Capture: Dealing with the Data Bodenheimer, Rose, Rosenthal, Pella
32
Compositing
Multiple renders Overlay results Huge time savings Extra control
33
34
35
Particle Systems
Points Born, Live, Die Color Motion Geometry
Smoke
36
Bubbles
37
Scripting
Programming language Results of simulation
With constraints
38
Artificial Intelligence
High level directors language Conversations Shots Scripts?
39
Combined Methods
Key-framing major components Simulation for details
Secondary motion
40
Slide Credits
Charles F. Rose Michael F. Cohen Bobby Bodenheimer
41
Conclusions
The computer is not the animator! Many types of motion control Different skills involved Emotion still requires acting
Thank you!
andrew_glassner@yahoo.com www.glassner.com
42
Where to Find More Information about Computer Graphics and Scientific Visualization
Mike Bailey Oregon State University
F. S. Hill, Computer Graphics Using OpenGL, Prentice Hall, 2001. Edward Angel, Interactive Computer Graphics: A Top-down Approach with OpenGL, AddisonWesley, 2003. Alan Watt, 3D Computer Graphics, 3rd Edition, Addison-Wesley, 2000. Peter Shirley, Fundamentals of Computer Graphics, AK Peters, 2005. Donald Hearn and Polly Baker, Computer Graphics with OpenGL, Pearson/Prentice-Hall, 2004. Olin Lathrop, The Way Computer Graphics Works, John Wiley & Sons, 1997. Andrew Glassner, Graphics Gems, Academic Press, 1990. James Arvo, Graphics Gems 2, Academic Press, 1991. David Kirk, Graphics Gems 3, Academic Press, 1992. Paul Heckbert, Graphics Gems 4, Academic Press, 1994. Alan Paeth, Graphics Gems 5, Academic Press, 1995. Jim Blinn, A Trip Down the Graphics Pipeline, Morgan Kaufmann, 1996. Jim Blinn, Dirty Pixels, Morgan Kaufmann, 1998. David Rogers, Procedural Elements for Computer Graphics, McGraw-Hill, 1997. SIGGRAPH Conference Final program. 1.2 Math and Geometry Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Charles River Media, 2002. Jean Gallier, Curves and Surfaces in Geometric Modeling, Morgan Kaufmann, 2000.
Walter Taylor, The Geometry of Computer Graphics, Wadsworth & Brooks/Cole, 1992. Gerald Farin, Curves and Surfaces for Computer Aided Geometric Design, 3rd Edition, Academic Press, 2000. Gerald Farin and Dianne Hansford, The Geometry Toolbox for Graphics and Modeling, AK Peters, 1998. Joe Warren and Henrik Weimer, Subdivision Methods for Geometric Design: A Constructive Approach, Morgan Kaufmann, 2001. Barrett ONeil, Elementary Differential Geometry, Academic Press, 1997. Joseph ORourke, Computational Geometry in C, Cambridge University Press, 1996. Christopher Hoffman, Geometric & Solid Modeling, Morgan Kaufmann, 1989. Michael Mortenson, Geometric Modeling, John Wiley & Sons, 1985. I.D. Faux and M.J. Pratt, Computational Geometry for Design and Manufacture, Ellis-Horwood, 1979. Eric Stollnitz, Tony DeRose, and David Salesin, Wavelets for Computer Graphics, MorganKaufmann, 1996. Ronen Barzel, Physically-Based Modeling for Computer Graphics, Academic Press, 1992. David Rogers and J. Alan Adams, Mathematical Elements for Computer Graphics, McGraw-Hill, 1989. John Snyder, Generative Modeling for Computer Graphics and Computer Aided Design, Academic Press, 1992. 1.3 Scientific Visualization Klaus Engel, Markus Hadwiger, Joe Kniss, Christof Rezk-Salama, and Daniel Weiskopf, RealTime Volume Graphics, A.K. Peters, 2006. Christopher Johnson and Charles Hansen, The Visualization Handbook, Elsevier Academic Press, 2005. David Thompson, Jeff Braun, and Ray Ford, OpenDX: Paths to Visualization, Visualization and Imagery Solutions, Inc., 2001. Chandrajit Bajaj, Data Visualization Techniques, John Wiley & Sons, 1999. Min Chen, Arie Kaufman, and Roni Yagel, Volume Graphics, Springer-Verlag, 2000. William Schroeder, Ken Martin, and Bill Lorensen, The Visualization Toolkit, 3rd Edition, Prentice-Hall, 2004.
Luis Ibanez and William Schroeder, The ITK Software Guide: The Insight Segmentation and Registration Toolkit (version 1.4), Prentice-Hall, 2003. Greg Nielson, Hans Hagen, and Heinrich Mller, Scientific Visualization: Overviews, Methodologies, Techniques, IEEE Computer Society Press, 1997. Lenny Lipton, The CrystalEyes Handbook, StereoGraphics Corporation, 1991. Brand Fortner, The Data Handbook: A Guide to Understanding the Organization and Visualization of Technical Data, Spyglass, 1992. William Kaufmann and Larry Smarr, Supercomputing and the Transformation of Science, Scientific American Library, 1993. Robert Wolff and Larry Yaeger, Visualization of Natural Phenomena, Springer-Verlag, 1993. David McAllister, Stereo Computer Graphics and Other True 3D Technologies, Princeton University Press, 1993. Peter Keller and Mary Keller, Visual Cues: Practical Data Visualization, IEEE Press, 1993. 1.4 Color and Perception Maureen Stone, A Field Guide to Digital Color, AK Peters, 2003. Roy Hall, Illumination and Color in Computer Generated Imagery, Springer-Verlag, 1989. David Travis, Effective Color Displays, Academic Press, 1991. L.G. Thorell and W.J. Smith, Using Computer Color Effectively, Prentice Hall, 1990. Edward Tufte, The Visual Display of Quantitative Information, Graphics Press, 1983. Edward Tufte, Envisioning Information, Graphics Press, 1990. Edward Tufte, Visual Explanations, Graphics Press, 1997. Edward Tufte, Beautiful Evidence, Graphics Press, 2006. Howard Resnikoff, The Illusion of Reality, Springer-Verlag, 1989. 1.5 Rendering Andrew Glassner, Principles of Digital Image Synthesis, Morgan Kaufmann, 1995. Michael Cohen and John Wallace, Radiosity and Realistic Image Synthesis, Morgan-Kaufmann, 1993. Andrew Glassner, An Introduction to Ray Tracing, Academic Press, 1989. Rosalee Wolfe, 3D Graphics: A Visual Approach, Oxford Press.
Ken Joy et al, Image Synthesis, IEEE Computer Society Press, 1988. 1.6 Images David Ebert et al, Texturing and Modeling, 2nd Edition, Academic Press, 1998. Alan Watt and Fabio Policarpo, The Computer Image, Addison-Wesley, 1998. Ron Brinkman, The Art and Science of Digital Compositing, Morgan Kaufmann, 1999. John Miano, Compressed Image File Formats, Addison-Wesley, 1999. 1.7 Animation Alan Watt and Mark Watt, Advanced Animation and Rendering Techniques, Addison-Wesley, 1998. Nadia Magnenat Thalmann and Daniel Thalmann, Interactive Computer Animation, PrenticeHall, 1996. Philip Hayward and Tana Wollen, Future Visions: New Technologies of the Screen, Indiana University Press, 1993. 1.8 Games Alan Watt and Fabio Policarpo, Advanced Game Development with Programmable Graphics Hardware, AK Peters, 2005. David Eberly, 3D Game Engine Design: A Practical Approach to Real-Time Computer Graphics, Morgan Kaufmann, 2006. Alan Watt and Fabio Policarpo, 3D Games: Real-time Rendering and Software Technology, Addison-Wesley, 2001. Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics, Charles River Media, 2002. David Bourg, Physics for Game Developers, OReilly and Associates, 2002. Munlo Coutinho, Dynamic Simulations of Multibody Systems, Springer Verlag, 2001. Mark DeLoura, Game Programming Gems, Charles River Media, 2000. Mark DeLoura, Game Programming Gems 2, Charles River Media, 2001. Mark DeLoura, Game Programming Gems 3, Charles River Media, 2002.
http://www.gamedev.net http://www.gamasutra.net
1.9 Virtual Reality John Vince, Virtual Reality Systems, Addison-Wesley, 1995. 1.10 The Web Gene Davis, Learning Java Bindings For OpenGL (JOGL), AuthorHouse, 2004. Andrea Ames, David Nadeau, John Moreland, The VRML 2.0 Sourcebook, John Wiley & Sons, 1997. Bruce Eckel, Thinking in Java, Prentice-Hall, 1998. David Flanagan, Java in a Nutshell, OReilly & Associates, 5th edition, 2005. David Flanagan, Java Examples in a Nutshell, OReilly & Associates, 3rd edition, 2004. Henry Sowizral, Kevin Rushforth, and Michael Deering, The Java 3D API Specification, Addison-Wesley, 1998. Rasmus Lerdorf and Kevin Tatroe, Programming PHP, OReilly, 2002. Yukihiro Matsumoto, Ruby in a Nutshell, OReilly, 2003. 1.11 Shaders Randi Rost, OpenGL Shading Language, Addison-Wesley, 2006 (2nd edition). Steve Upstill, The RenderMan Companion, Addison-Wesley, 1990. Tony Apodaca and Larry Gritz, Advanced RenderMan: Creating CGI for Motion Pictures, Morgan Kaufmann, 1999. Randima Fernando, GPU Gems, NVIDIA, 2004. Matt Pharr, Randima Fernando, GPU Gems 2, NVIDIA, 2005. 1.12 Miscellaneous OpenGL 2.0 Reference Manual, Addison-Wesley, 2006. OpenGL 2.0 Programming Guide, Addison-Wesley, 2005 (5th edition). Tom McReynolds and David Blythe, Advanced Graphics Programming Using OpenGL, Morgan Kaufmann, 2005. Edward Angel, OpenGL: A Primer, Addison-Wesley, 2002. Andrew Glassner, Recreational Computer Graphics, Morgan Kaufmann, 1999.
Anne Spalter, The Computer in the Visual Arts, Addison-Wesley, 1999. Jef Raskin, The Humane Interface, Addison-Wesley, 2000. Ben Shneiderman, Designing the User Interface, Addison-Wesley, 1997. Clark Dodsworth, Digital Illusion, Addison-Wesley, 1997. Isaac Victor Kerlow, The Art of 3-D: Computer Animation and Imaging, 2000. Isaac Victor Kerlow and Judson Rosebush, Computer Graphics for Designers and Artists, Van Nostrand Reinhold, 1986. Mehmed Kantardzic, Data Mining: Concepts, Models, Methods, and Algorithms, Wiley, 2003. William Press, Saul Teukolsky, William Vetterling, and Brian Flannery, Numerical Recipes in C, Second Edition, Cambridge University Press, 1997. James Skakoon and W. J. King, The Unwritten Laws of Engineering, ASME Press, 2001.
2. Periodicals Computer Graphics and Applications: published by IEEE (http://www.computer.org, 714-821-8380) Computer Graphics World: published by Pennwell (http://www.cgw.com, 603-891-0123) Journal of Graphics Tools: published by A.K. Peters (http://www akpeters.com, 617-235-2210) Game Developer: published by CMP Media (http://www gdmag.com, 415-905-2200) (Once a year publishes the Game Career Guide.) Computer Graphics Quarterly: published by ACM SIGGRAPH (http://www.siggraph.org, 212-869-7440) Transactions on Visualization and Computer Graphics: published by IEEE (http://www.computer.org, 714-821-8380) Transactions on Graphics: published by ACM (http://www.acm.org, 212-869-7440) Cinefex
(http://www.cinefex.com, 951-781-1917)
3. Professional organizations ACM................ Association for Computing Machinery http://www.acm.org, 212-869-7440 SIGGRAPH ..... ACM Special Interest Group on Computer Graphics http://www.siggraph.org, 212-869-7440 SIGCHI............ ACM Special Interest Group on Computer-Human Interfaces http://www.acm.org/sigchi, 212-869-7440 IEEE ................ Institute of Electrical and Electronic Engineers http://www.computer.org, 202-371-0101 NAB ................ National Association of Broadcasters http://www.nab.org, 800-521-8624 ASME.............. American Society of Mechanical Engineers http://www.asme.org, 800-THE-ASME
Electronic Entertainment Expo: 2007: Santa Monica, CA July 11-13 2008: ???, July
http://www.e3expo.com
ASME International Design Engineering Technical Conferences (includes the Computers and Information in Engineering conference):: 2007: Las Vegas, NV September 4-7
http://www.asmeconferences.org/IDETC07
http://www.acm.org/sigchi
5. Graphics Performance Characterization The GPC web site tabulates graphics display speeds for a variety of vendors' workstation products. To get the information, visit:
http://www.spec.org/benchmarks.html#gpc