Upload
jorge-luna-urquizo
View
62
Download
1
Embed Size (px)
Citation preview
Introduction to SIGGRAPH and Computer Graphics 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 [email protected]
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 [email protected]
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 Keyframe interpolation o Object geometry animation o Camera animation o Kinematics and inverse kinematics
• 12:00 – 12:30: Finding additional information (Bailey)
Introduction to SIGGRAPHand Computer Graphics
Mike BaileyMike BaileyOregon State UniversityOregon State University
Andrew Andrew GlassnerGlassnerIndependentIndependent
Mike Bailey
Professor of Computer Science, Oregon State UniversityProfessor of Computer Science, Oregon State University
PhD from Purdue UniversityPhD from Purdue University
Has worked at Sandia Labs, Purdue University, Has worked at Sandia Labs, Purdue University, Megatek, San Diego Supercomputer CenterMegatek, San Diego Supercomputer Center(UC San Diego), and OSU(UC San Diego), and OSU
[email protected]@cs.oregonstate.edu
Andrew Glassner
Author, screenwriter, artist from Coyote Wind StudiosAuthor, screenwriter, artist from Coyote Wind Studios
PhD from the University of North Carolina PhD from the University of North Carolina --Chapel HillChapel Hill
Has worked at IBM, Bell Communications, Has worked at IBM, Bell Communications, Delft University, NYIT, Xerox PARC, Delft University, NYIT, Xerox PARC, Microsoft Research, and Coyote Wind StudiosMicrosoft Research, and Coyote Wind Studios
[email protected]@glassner.com
Course Goals
•• Understand the different venues at SIGGRAPH,Understand the different venues at SIGGRAPH,
and how to strategically attend the ones that are best for youand how to strategically attend the ones that are best for you
•• Provide a background for papers, panels, and other coursesProvide a background for papers, panels, and other courses
•• Help appreciate the Electronic TheaterHelp appreciate the Electronic Theater
•• Get more from the vendor exhibitsGet more from the vendor exhibits
•• Give our take on where the future isGive our take on where the future is
•• Provide pointers for further studyProvide pointers for further study
Topics
•• How to Attend SIGGRAPH 2007 (Mike and Andrew)How to Attend SIGGRAPH 2007 (Mike and Andrew)
•• Scientific and Data Visualization (Mike)Scientific and Data Visualization (Mike)
•• GPU Programming (Mike)GPU Programming (Mike)
•• Modeling (Andrew)Modeling (Andrew)
•• Rendering (Andrew)Rendering (Andrew)
•• Animation (Andrew)Animation (Andrew)
•• Finding More Information (Mike)Finding More Information (Mike)
Introduction to SIGGRAPHand Computer Graphics
Mike BaileyMike BaileyOregon State UniversityOregon State University
Andrew Andrew GlassnerGlassnerIndependentIndependent
How To Attend SIGGRAPH 2007
Mike BaileyOregon State University
Andrew GlassnerCoyote Wind Studios
You can’t see it all, so …
Think Strategically -- Make a Plan and a Schedule !
Courses
•• Sunday Sunday –– WednesdayWednesday
•• Some are Some are ““standard knowledgestandard knowledge”” (e.g., this one(e.g., this one……))
•• Some are cutting edgeSome are cutting edge
•• Some are new topicsSome are new topics
•• You got the full set of notes on the courses DVDYou got the full set of notes on the courses DVD
Courses Strategy
•• Choose courses that are usefulChoose courses that are useful
•• Choose courses that are meaningfulChoose courses that are meaningful
•• Chose courses where you really want to see the Chose courses where you really want to see the speaker(sspeaker(s))
•• Choose courses for which there will be great visualChoose courses for which there will be great visual
presentations which cannot be replicated in the notespresentations which cannot be replicated in the notes
•• Hop around between courses to catch the best topicsHop around between courses to catch the best topics
and speakersand speakers
Web Program
•• Wednesday Wednesday -- ThursdayThursday
•• Covers issues such as: navigation, 3D interfaces, applications,Covers issues such as: navigation, 3D interfaces, applications,
animations, games, and standardsanimations, games, and standards
Opening Session
•• Monday, 1:15 Monday, 1:15 –– 3:153:15
•• Doors open Doors open ≈≈ 12:3012:30
•• Only those with Full Conference or One Day badges can enterOnly those with Full Conference or One Day badges can enter
•• ““State of the SIGGRAPHState of the SIGGRAPH”” message by the SIGGRAPH Chairmessage by the SIGGRAPH Chair
Opening Session Awards
•• Coons AwardCoons Award
•• Achievement AwardAchievement Award
•• Significant New Researcher AwardSignificant New Researcher Award
Papers
•• MondayMonday--ThursdayThursday
•• Deep technical informationDeep technical information
•• Printed in the proceedings and on the conference DVDPrinted in the proceedings and on the conference DVD
•• Strategy: attend when an animation or interactiveStrategy: attend when an animation or interactivetechnique is being discussedtechnique is being discussed
•• Strategy: attend when you think you will not understandStrategy: attend when you think you will not understandthe topic from reading alonethe topic from reading alone
Panels
•• MondayMonday--ThursdayThursday
•• General discussion, opinion, sometimes controversialGeneral discussion, opinion, sometimes controversial
•• Important point: sometimes transcribed, usually notImportant point: sometimes transcribed, usually not
•• Strategy: attend when a topic, speaker, or animationStrategy: attend when a topic, speaker, or animationyou really want to see is being discussedyou really want to see is being discussed
Sketches
•• Monday Monday -- ThursdayThursday
•• PaperPaper--like content, but shorter and less formallike content, but shorter and less formal
•• Some of the work has been completedSome of the work has been completed
•• Some of it is Some of it is ““Work in ProgressWork in Progress””
Special Events
•• FastFast--Forward Papers review: Sunday 6:00Forward Papers review: Sunday 6:00--8:008:00
•• ACM Student Research Competition: Tuesday, 3:45ACM Student Research Competition: Tuesday, 3:45--5:305:30
Exhibition
•• Tuesday Tuesday –– ThursdayThursday
•• Many vendors time their hottest product releasesMany vendors time their hottest product releases
for this week!for this week!
•• But, itBut, it’’s big, so go with a strategy!s big, so go with a strategy!
Exhibition Strategy
•• The Exhibition is open 10:00The Exhibition is open 10:00--6:00 on Tuesday and6:00 on Tuesday and
Wednesday, and 10:00Wednesday, and 10:00--5:00 on Thursday5:00 on Thursday
•• The vendors are all listed in the Program andThe vendors are all listed in the Program and
BuyerBuyer’’s Guides Guide
•• They are listed both by alphabetical name and byThey are listed both by alphabetical name and by
product categoryproduct category
Exhibition Strategy
•• Look at the list of vendors in the Program and Buyers GuideLook at the list of vendors in the Program and Buyers Guide
•• Make a list of the ones you Make a list of the ones you reallyreally must see and sort the listmust see and sort the list
by booth numberby booth number
•• Booth numbers are XXYY, where XX is the Aisle # andBooth numbers are XXYY, where XX is the Aisle # and
YY is (YY is (11//55)*the number of feet from the front)*the number of feet from the front
•• For example, For example, BunkSpeedBunkSpeed = booth 1110, which is Aisle 11,= booth 1110, which is Aisle 11,
50 feet from the front50 feet from the front
•• Start at one end of the floor and work your way acrossStart at one end of the floor and work your way across
Exhibitor Tech Talks
•• Tuesday Tuesday -- ThursdayThursday
•• 22--hour demos, tutorials, and interactive instructionhour demos, tutorials, and interactive instruction
•• Sometimes a raw sales pitch, but usually moreSometimes a raw sales pitch, but usually more
informative than thatinformative than that
Exhibition Warning
The Exhibition closes at The Exhibition closes at 5:005:00on Thursday afternoon,on Thursday afternoon,
not 6:00 !!!not 6:00 !!!
Electronic Theatre
•• Monday Monday –– WednesdayWednesday
•• Computer Computer GraphicsGraphics’’ss greatest animation hits forgreatest animation hits for
the past yearthe past year
•• It is considered It is considered coolcool to see it early in the weekto see it early in the week
•• Watch to see whose piece goes first and whose goes lastWatch to see whose piece goes first and whose goes last
•• Sometimes includes an audience participation pieceSometimes includes an audience participation piece
Reception !
•• Wednesday 8:00 Wednesday 8:00 –– 10:0010:00
Pathfinders
•• Staffed by Staffed by ““graphics veteransgraphics veterans”” who can give advice onwho can give advice onattending the conferenceattending the conference
•• They are also very nice peopleThey are also very nice people
•• Open Saturday Open Saturday –– ThursdayThursday
Art Gallery
•• Sunday Sunday –– ThursdayThursday
•• Always fun !Always fun !
•• Be sure to see it, even if you just stroll through withoutBe sure to see it, even if you just stroll through withoutstoppingstopping
Get Involved !
•• Tuesday, 6:30 PMTuesday, 6:30 PM
Educators Program
•• Wednesday and ThursdayWednesday and Thursday
•• Presentations of innovative educational uses ofPresentations of innovative educational uses ofcomputer graphicscomputer graphics
•• Covers both teaching computer graphics and usingCovers both teaching computer graphics and usingcomputer graphics to teach other thingscomputer graphics to teach other things
Emerging Technologies
•• Sunday Sunday -- ThursdayThursday
•• Speculative research on graphics, visualization,Speculative research on graphics, visualization,robotics, music, audio, displays, robotics, music, audio, displays, hapticshaptics, sensors,, sensors,gaming, web, AI, and entertainmentgaming, web, AI, and entertainment
Guerilla Studio
•• Sunday Sunday -- ThursdayThursday
•• Working studio for 2D and 3D graphics, and 3D prototypingWorking studio for 2D and 3D graphics, and 3D prototyping
Job Fair
•• Tuesday Tuesday –– WednesdayWednesday
•• Good place to find information on who is hiringGood place to find information on who is hiring
•• Also a good place to post your resumeAlso a good place to post your resume
Birds of a Feather
•• Opportunity for impromptu gatherings centeredOpportunity for impromptu gatherings centeredaround different topicsaround different topics
•• All weekAll week
•• Check the BOF signCheck the BOF sign--up boardup board
Good Luck,Good Luck,and have fun !and have fun !
How To Attend SIGGRAPH 2007
Mike BaileyOregon State University
Andrew GlassnerCoyote Wind Studios
1
Computer Graphics for Scientific Visualization
Mike BaileyOregon State University
Why Are We Covering This Topic?
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.
2
Computer Graphics
Geometry
Display
“Rendering”
A Gallery of Display OptionsPoints Lines Flat Shaded
SmoothShaded Transparent
3
Scientific Visualization
Geometry
Display
Data“Geometrizing”
“Rendering”
Information& Insight
Visualization DimensionsSpatial
Dimension
DataDimension
2D 3D
Scalar
Vector
4
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
5
2D Contours
3D Scalar
Examples:
• Temperatures in a room
• Molecular potentials
Techniques:
• Colored dots (“point cloud”)
• Cutting plane
• Isosurfaces
6
3D Orthographic Point Cloud
3D Perspective Point Cloud
7
3D Jittered Point Cloud
Cropping the Point Cloud:Range Sliders
8
Croppingin X, Y, Z
Cropping in S
9
What’s Happening on a Cutting Plane?
What’s Happening on More Than One
Cutting Plane?
10
What’s Happening within the Volume?3D Wireframe Isosurface
3D Polygonal Isosurface
11
Isosurface + Contour Plane
Isosurfaces of Medical Data
12
3D Vector
Examples:
• 3D flow field
Techniques:
• Arrows (“vector cloud”)
• Streamlines
3D Flow Field
Vector Cloud
Streamlines
13
3D Flow Field Probes
Ribbon Trace
Streamline Trace
3D Flow Blob Probes
14
3D Volume
Examples:
• 3D Medical Scan
Techniques:
• Volume Rendering
15
A Volume is Essentially a Point Cloud Where Each Point has Size
Range Crop the Scalar Value:
Original Data:
16
Cropping the Volume
Solar Wind
Turbulent Flow
17
Underground Rock Layers
Bone Structure
Setting Colors
glColor3f( r, g, b );
Red+Green=YellowGreen+Blue=Cyan
Red+Blue=MagentaRed+Green+Blue=White
Known as “Additive Color”, or “RGB”
18
Color Rules: Your Eye
Rods:Rods: Provide perception of light intensity, or luminance. Lots of these, mostly concentrated in the periphery of your field of vision.
Cones: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 doesn’t
19
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Black
White
Red
Yellow
Green
Blue
Color Rules
• Do not use Reds and Blues directly together
20
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.
21
Color Rules
• Surround contrasting color areas with a white or black line
22
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
23
24
25
Color Rules
Watch out for afterimage effects !
+
26
Color Rules
Watch out for afterimage effects !
+
Beware of Mach Banding
27
ActualIntensity
PerceivedIntensity
Beware of Mach Banding
Beware of Mach Banding
ActualIntensity
PerceivedIntensity
28
Beware of Lots of Other Stuff
Visualization Hardcopy
• Film recording
• Color printing
• Videotaping
• Manufacturing
29
NTSC Videotaping forVisualization Hardcopy
• Resolution is 640x480, at best
• Interlaced
• Color bandwidth is given to, in order:1. Luminance 267 cycles/scanline2. Blue-Orange 96 cycles/scanline3. Purple-Green 35 cycles/scanline
• Saturated (bright) colors don’t come out well
Fabrication forVisualization Hardcopy
Black Beetle Virus
30
Oregon
Willamette Valley Geology
31
Example: Model of Southern California Fire Smoke
CAT scan slices from the UCSD Medical School
Interaction inOSU vx
(Volume Explorer)Tesselated by
OSU vs(Volume Solid)
Fabricated at OSU Center for Visualization
Prototypes
Example: Modeling Anabolic Aortic Aneurysms
32
Summary
Scientific Visualization has “no rules”.
Anything that turns data in the computer into information and insight in your brain is fair game.
Computer Graphics for Scientific Visualization
Mike BaileyOregon State University
GPU Shader Programming
Mike BaileyOregon State University
GPU Shader Programming
• 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!
The Generic Computer Graphics System
VideoDriver
CPU
InputDevices
Double-bufferedFramebuffers
Rasterizer
VertexProcessor
Bus
Network DisplayList
Texture Memory
Z-Buffer
FragmentProcessor
Front
Back
RGBAZPixels
TC
ShaderMemory
Uniformvariables
Uniformvariables
A GLSL Vertex Shader Replaces These Operations:• Vertex transformations
• Normal transformations
• Normal normalization
• Handling of per-vertex lighting
• Handling of texture coordinates
A GLSL Fragment Shader Replaces These Operations:
• Color computation
• Texturing
• Color arithmetic
• Handling of per-pixel lighting
• Fog
• Blending
• Discarding fragments
Bump Mapping with Shaders
Changing the Bump Height
Cube Mapping with Shaders
Cube Map of Nvidia’s Lobby
Using Noise in Shaders
Positional Noise
Gradient Noise
Image Representation of 2D Noise
1 Octave
4 Octaves
3D Surface Representation of 2D Noise
4 Octaves
Have actual coordinates at a pixel
Add Noise to the actual coordinates to
produce new coordinates
Have an equation to describe color assignment
Use the new coordinates in the old equation to assign a
color at that pixel
How to Apply Noise
Noise Examples
Deciding when to Discard for Erosion
Color Blending for Clouds
Color Blending for Fire
Color Blending for Marble
Using Shaders to Manipulate Imagery
Negatives
Brightness
Contrast
Sharpening
Embossing
Toon RenderingOriginal Image
Colors Quantized
Outlines Added
Use the GPU to enhance scientific and engineering illustration
Toon Rendering for Non-Photorealistic Effects
Mandelbrot Set
zzz ii 02
1 +=+
How fast does itconverge, if ever?
Julia Set
czz ii +=+
21
How fast does itconverge, if ever?
Spectral Effects Using Shaders
~ 41 °
Rainbow Effects
53.0°0.76640°1.528≈ 400 nmBlue
51.5°0.75541°1.519≈ 500 nmGreen
50.0°0.74342°1.510≈ 650 nmRed
ΘΘcosΘΘηλColor
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
Scientific Visualization using Shaders
Bump-Mapping for Terrain Visualization
Visualization by Nick Gebbie
2D Line Integral Convolution
At each fragment:1. Find the flow field
velocity vector there
2. Follow that vector in both directions
3. Blend in the colors at the other fragments along that vector
Rotational flow field
Original image
3D Line Integral Convolution
Visualization by Vasu Lakshmanan
Extruding Shapes Along Flow Lines
Adding bump-mapping to aid in understanding the orientation
Adding moving “humps” to create a peristaltic effect
Geometry Processing using Shaders
Vertices
CPU
Rasterizer
VertexProcessor
Bus
FragmentProcessor
Pixels
A Shader-eye View of the Graphics Process, with Geometry Shaders
Interpolated Values
Transformed Vertices
Assembled Primitive
Create NewGeometry
Assemble NewGeometry
AssembleGeometry
Expanding 4 Points into a Bezier Curvewith a Variable Number of Line Segments
FpNum = 5 FpNum = 25
Sphere Subdivision starting with 8 trianglesLevel = 0
Level = 1
Level = 3
Level = 2
Shrinking Triangles
Geometry Silhouettes
Hedgehog Plots
Hedgehog Plots Gone Wild?
GPU Shader Programming
Mike BaileyOregon State University
There are a lot of GPU shader programming resources at:
http://eecs.oregonstate.edu/~mjb/glman
1
An Introduction ToModeling
Andrew GlassnerCoyote Wind Studios
3D Computer Graphics
The Big Picture
Why Create 3D Models?
• Image Synthesis• Design• Manufacturing• Simulation• Art
2
Models for Image Synthesis
• Camera–Viewpoint for image
• Light Sources–Radiate light–Have size and shape
• Objects–Physical structures
Models for Simulation
• Physics–An airplane wing
• Mechanics–Fit between parts–Manufacturability
Model Attributes
• Structure–Geometry and Topology
• Appearance–Looks and surfaces
Levels of Detail
• Visual detail for images• Structural detail for simulation
3
Seeing in 3D
• The world in basic shapes• Simple but not too simple
4
Detail for Image Synthesis
• Real shapes are complex!• More detail = more realism
–Takes longer to model, longer to render, and occupies more disk space
• Procedural objects–More detail when you want it
5
Detail for Simulation
• Can affect accuracy of simulation• Different simulations require detail
in different places
Levels of Detail for Simulations
Does it fit in the box? Does it fit with the cover on?
Types of Modelers
• Interactive• Scripted• Data Collection• Others
6
<AModel Manipulation
7
A>Primitives and Instances
• Platonic “ideal”• Shapes are instances of primitives• Each instance may be different
8
Choosing a Model Representation
• Cost• Effectiveness• Complexity• Ease of Simulation• Ease of Animation
Model Cost
• Designer’s time• Computer Storage• Rendering Time• Simulation Time• Ease of Animation
Model Effectiveness
• Geometry–Looks–Accuracy
• Appearance–Looks–Accuracy
Model Complexity
• Number of primitives• Number of shapes• Complexity of each instance
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
• Physics of motion• Constraints
9
Modeling and Rendering
• Rendering adds light• The renderer tracks the light• Lights and cameras are part of the
model.
Modeling and Animation
• Animating is a model over time• Different keys given by the
animator are interpolated to give in-betweens
Levels of Detail
• Use only enough detail–Complexity costs
• Switch levels of detail–Requires multiple models–Switching is hard to hide
• Automatic Methods
Procedural Models
• Create model on demand• Models from coarse to fine• Requires skillful programming
Basic Linear Operationson Primitives
Translate
Rotate
Scale
<BBox Modifiers
10
11
12
B>
13
Free-Form Deformation
• Change the space, not the object• Great for animation• Allows flexible transformations
–Bend, twist, taper, melt, etc.
<CFFD
14
C>Types of Primitives
• 0 Dimensions: Points• 1 Dimension: Lines• 2 Dimensions: Surfaces• 3 Dimensions: Volumes
Point Primitives
• Particle systems• Requires many particles• Often procedurally controlled
15
Surface Primitives
• Polygons• Patches
Polygons
• Simple to define and use• Assemble to make polyhedra• Flat• Flat• Flat• Really, really flat, always
<DPolygon shading
16
17
D> <EPolygon counts
18
E>Images by Neil Blevins
Images by Neil Blevins
19
Patches
• Naturally curved• Defined by control points or curves• Interpolating• Approximating
Interpolation and Approximation
Interpolation
Approximation
Continuity
00--orderorder
11--orderorder
22--orderorder
Types of Patches
• Bezier• B-spline• Bicubic• NURBS• many more
20
21
22
<FMesh Smooth
23
F>Volumetric Primitives
• Volumes that enclose some space• Open vs. closed• Can be complex, e.g. a donut
Voxels
• Small blocks of space• Equally-sized (grid)• Varying sizes (octree)
Voxels for Approximation
Original Shape Voxel Approximation
Constructive Solid Geometry
• Combination rules for solids• Each combines two solids• Results can are new solid
–CSG Tree
• Three (or four) rules
<GCSG
24
CSG
AA BB
Union: A + BUnion: A + B
Difference: ADifference: A--BB
Intersection: A&BIntersection: A&B
Difference is Not Symmetrical
AA--BB
BB--AA
AA BB
Difference is Useful for Cutting Holes
Block - CylinderBlock + Cylinder
25
G>Fillets and Blends
• Make a smooth join between surfaces
• Hard to do automatically
Algebraic Functions
F(x,y)= xF(x,y)= x22 + y+ y22 -- radiusradius22
F(x,y)=0F(x,y)=0
Blobs
• Algebraic functions, usually spherical
• Add together to make smooth blends
26
Blobby movie
<HSOR, Extrude, Loft
Surface of Revolution
• Make an outline• Revolve it
27
Extrusion
• Make an outline• Sweep it along a line or curve
H> <JMorph
28
J> <KSheets
K> Shading
29
30
31
32
Texture
33
34
35
<LSolid Texture
36
L> Knotwork
37
38
39
40
41
Texturing Methods
42
Native Mapping Planar Mapping
Native Mapping Native Mapping
Cylindrical Mapping Planar Mapping
43
Shrink Mapping Spherical Mapping
44
Procedural Models
• Fractals• Graphtals• Shape Grammars• General Procedural Models
Fractals
• Self-similar• Infinite detail
–Computer only approximates
• Difficult to control• Mountains and ferns
Graphtals
• Make the structure first• Add geometry later• Useful for plants and organic forms • Data Amplification
45
Shape Grammars
• Shapes that turn into other shapes• Details that work with substrate• Data Amplification
46
2D Variations
47
48
49
50
51
3D Shape Grammars
52
53
54
55
56
57
58
59
General Procedural Models
• Most powerful technique of all• Smooth changes in detail• Supports simulation, animation• Allows models that interact with
the scene
60
Modeling Environments
• Interactive• Scripted• Captured• Clip Art
Interactive Modeling
• Interactive• Exploratory• Immediate Feedback
Scripted Modeling
• Precise• Repeatable
61
Physical Models
• Build up 3D intuition• Stretches visual imagination
62
63
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
Modeling for Animation
• Rigid structures are easiest to make
• Articulated structures are easiest to animate
• Plan for where you want motion• Built-in constraints
Conclusions
• Many primitives• Many modelers• Use what you need• modeler, primitive, construction
style, and level of detail
• Think before you model!
64
65
1
An Introduction ToRendering
Andrew GlassnerCoyote Wind Studios
What is Rendering?
• Turning ideas into pictures• Communications tool• A means to an end
Rendering Roots
• The Visual Arts–Painting, Sculpture
• Physics–Studying nature
• Computers–Efficient algorithms
2
Approaches to Rendering
• Simulate Nature• Anything else
Simulating Nature
• Advantages–Precise goal–Path is clear–Practical value
• Disadvantages– Ignores other styles
3
Photorealism
• The Big Winner so far– coined in 1968– just one school of art–alternatives emerging
4
Today’s view
• Rendering as commodity• Buy, don’t write• Still requires care
–Efficiency–Accuracy–Effects
Purpose of this talk
• The basic ideas–Techniques–Tradeoffs–Vocabulary
• High-level understanding–Not programming!
The Big Picture
• Fake a photo (almost)• Data into picture
–Geometry–Surfaces
• Reflection• Transparency• Emission
–Camera and film
Rendering
• Transformation• Inputs
–Geometry, physics, programs, images, perception
• Output– Images
The Rendering Equation
• Unifies all algorithms• Based on nuclear physics• Trivial and self-evident
5
Rendering
• Interaction of Light and Matter–Light–Matter
The Flow of Light
• Flux• Photons in space
Light and Matter
• Reflection• Transmission• Absorption
6
The Interaction
• Light arrives• Energy transfers• Light departs
The Usual Question
• What’s the color of the light– from this point–on this surface– in this direction
7
Shading
• 1. Calculate incident light• 2. Interact with material• 3. Calculate outgoing light
1. Gather Incident Light 2. Interact With Material
8
3. Calculate Outgoing Light
Shading and Visibility
• Visibility–What we see
• Shading–How it looks
Visibility
• What do I see?• Paint by numbers
Shading
• Fill in the numbers• Don’t stick to flat colors
9
Visibility: Paint-by-numbers
1
23
45
6
78
Shading: Object colors
Local & Global Shading
• Use environment, or fake it?• Local shading
–Fake it, fast and dirty–Don’t worry, be happy
• Global shading–Do it slow and correct–Worry, be happy
Why do it globally?
• Shadows• Reflections• Refraction (transparency)• Emissions (light sources)• Subtle touches
Why do it locally?
• Often close enough• Fast!• Hardware support• Many effects can be faked• Unlimited scene size
10
Ray Tracing
Ray Tracing 1
• Follow lines of sight
Ray Tracing 2• Shoot new rays to find illumination
11
Ray TracingWithout Words
12
Radiosity
Radiosity 1
• Discretize the environment
Radiosity 2
• Bounce energy back and forth
13
Radiosity 3• View results
14
RadiosityWithout Words
15
Lighting
Images by
Neil Blevins
16
Images by
Neil Blevins
Image by
Neil Blevins
Image by Chris Pember
ComparingRay Tracing and
Radiosity
17
Hardware support
• Z-buffers– Inifnite # of objects– Local shading–Fast–Many tricks available
Rendering at extremes
• Atoms–or sub-atomic particles
• Galaxies–or the Milky Way
• Relativity• Ocean depths• Inside people
Image-Based Rendering(IBR)
Image-Based Rendering
• Some photos• Some geometry
Sue Vision
Bob Graphics
18
Computer Graphics
Image
Output
ModelSyntheticCamera
Real Scene
Computer Vision
Real Cameras
Model
Output
CG Meets CV
<AAlpha Maps
A>
19
<BStreet Barricade
B>
<CPatio Table
20
21
C>
22
Fluorescence
Solar Halos
23
24
25
Halo Movie
Odd Output Media
26
Interference
27
Relativity
28
Polarization Phosphorescence
29
30
Caustics
Focused light
Image by Johan Thorngren
Image by Johan Thorngren
31
Volumetric Effects
Non-Euclidean Space
32
Animation
• Film: 24 frames/second–30 minutes = 43,200 frames–More for TV!
• Motion blur
Exposure
• Cameras• Lenses• Films• Intended viewing conditions
33
Color 1
• The RGB Myth• The HSV Myth• The 8-bit Myth• The Constancy Myth• The Fifth Myth with pith
Color 2
• Devices vary–Printers vs. monitors
• Perception matters–Metamers–Diet, recent conditions
• Interpolation is tricky–RGB is not perceptually uniform
Non-Realistic Rendering
34
Real Materials
• Absorption spectra• Layers or coatings• Phosphors, fluorescents• Metals
35
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
36
Compositing
• Layering of images• Backgrounds, foregrounds• Real Projection• Mattes
–Matte lines–Matte operators–Alpha buffers
37
Image by Steven Blackmon
Image by Michael Spaw
Image by Johan Thorngren
38
The future 1
• Photorealism grows–More accuracy–More speed–Parallel algorithms
• Subjective Rendering grows–New opportunities–More personal
Image by
Tomek Baginski
The future 2
• Desktop animation–Sophisticated support–Standards and architectures–Rendering one piece among many
• “You did what, Grandpa?”
Where The Fun Is
• Non-Realistic rendering• Shaders• The fuzzy space
Image by Jorge Seva & Sergio Miruri
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
39
Thanks
• Michael F. Cohen• Peter-Pike Sloan• Jonathan Shade • Paul Debevec• Marc Levoy
40
41
42
Image by
Steven Blackmon
1
An Introduction ToComputer Animation
Andrew GlassnerCoyote Wind Studios
2
Why Animation Works
• Many still images• Rapid succession• Persistence of vision
–Must overcome flicker
3
Animation is Expensive!
• 30 frames/second• 30 minutes = 54,000 frames• 5 minutes/frame, 12 hours/day ~
1 year• Limited animation• Computer-assisted animation
Thinking About Animation
• Low level: Individual frames• Mid level: Sequences & scenes• High level: Story and message• Computer helps all 3 levels
4
Traditional 2D Animation
• Hand-drawn cels• Stacks of cels over background• Only redraw cels that change
–Limited animation
• Experimental forms
5
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
6
Computer-Assisted Animation
• 3D–Create models, sets, poses–Computer interpolates –Computer renders, composes
7
2D Computer Animation
• What gets interpolated?–Strokes–Outlines–Colors
• High-quality compositing
8
2D Morphing
• Image interpolation• Feature matching• Multiple layers
9
3D Computer Animation
• What gets interpolated?–Shape geometry–Shape appearance–Light source information–Cameras– Anything!
10
3D Computer Animation
• 1. Interpolate• 2. Render• 3. Compose
Object Animation
• Location• Geometry• Transformations & deformations• Appearance and textures• Light sources
11
Camera Animation
• FOV• Focal length• Position & orientation
Object Interpolation
• Parameterized transformation–Rotation–Scaling–Deformation
• Interpolate parameters• Build new transformations
12
13
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
14
Kinematics
• Specify position and time• Give velocity, acceleration of parts• Nested interpolation• Each transformation accessible
15
Bouncing Ball
16
17
Bounce
Ball vertical position
18
Squash
Ball squash percentage
19
Path
Ball track position
20
Ball track percent
Path
21
Inverse Kinematics
• Goal-driven• Supports constraints• Control what you care about
–Let computer fill in the rest
22
IK
23
Constraints
• Parametric restrictions• Aids in inverse kinematics
–Put the foot on the ground
• Restricts model to “sensible” poses and motion
• Can be frustrating
24
Dynamics
• Physical simulation• Based on physics• Requires physical data
– Mass, center of mass, moments of inertia, friction, etc.
• Accurate motion• Difficult to control
25
Simulation
• Precompute model parameters• May be expensive• Many methods available• Complex motion
–Flocking–Cloth–Liquids
26
Dynamics
27
Cloth films
28
29
30
31
Wizard
32
Parameterized Motion
• Capture• Synthesize
MOCAP processing
The Process of Motion Capture: Dealing with the DataBodenheimer, Rose, Rosenthal, Pella
Computer Animation and Simulation 1997
33
Compositing
• Multiple renders• Overlay results• Huge time savings• Extra control
34
35
36
Particle Systems
• Points• Born, Live, Die• Color• Motion• Geometry
Smoke
37
Bubbles
38
Scripting
• Programming language • Results of simulation
–With constraints
• Can include 2D transitions
39
Artificial Intelligence
• High level “director’s language”• Conversations• Shots• Scripts?
40
Combined Methods
• Key-framing major components• Simulation for details
–Secondary motion
41
Slide Credits
• Charles F. Rose• Michael F. Cohen• Bobby Bodenheimer
42
Conclusions
• The computer is not the animator!• Many types of motion control• Different skills involved• Emotion still requires acting
www.glassner.com
Thank you!
April 20, 2007 1
Where to Find More Information about Computer Graphics and Scientific Visualization
Mike Bailey
Oregon State University 1. References 1.1 General
SIGGRAPH Online Bibliography Database:
http://www.siggraph.org/publications/bibliography F. S. Hill, Computer Graphics Using OpenGL, Prentice Hall, 2001. Edward Angel, Interactive Computer Graphics: A Top-down Approach with OpenGL, Addison-
Wesley, 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.
April 20, 2007 2
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 O’Neil, Elementary Differential Geometry, Academic Press, 1997. Joseph O’Rourke, 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, Morgan-
Kaufmann, 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, Real-
Time 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.
April 20, 2007 3
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 Müller, 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.
April 20, 2007 4
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, Prentice-
Hall, 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, O’Reilly 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
April 20, 2007 5
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, O’Reilly & Associates, 5th edition, 2005. David Flanagan, Java Examples in a Nutshell, O’Reilly & 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, O’Reilly, 2002. Yukihiro Matsumoto, Ruby in a Nutshell, O’Reilly, 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.
April 20, 2007 6
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)
April 20, 2007 7
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
4. Conferences
ACM SIGGRAPH: 2008: Los Angeles – August 11-15 http://www.siggraph.org/s2008
IEEE Visualization:
2007: Sacramento, CA – October 27-November 1 http://vis.computer.org
Game Developers Conference:
2008: San Francisco, CA – February 18-22 http://www.gdconf.com
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
National Association of Broadcasters (NAB):
2008: Las Vegas, NV – April 12-17 http://www.nab.org
ACM SIGCHI:
2007: San Jose, CA – April 28-May 3
April 20, 2007 8
http://www.acm.org/sigchi ACM SIGARCH / IEEE Supercomputing:
2007: Reno, NV -- November 10-16 http://sc07.supercomputing.org
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