Introduction to SIGGRAPH and Computer Graphics (Bailey)

Post on 14-Oct-2014

55 views 1 download

Transcript of Introduction to SIGGRAPH and Computer Graphics (Bailey)

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 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 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

mjb@cs.oregonstate.edumjb@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

andrew@glassner.comandrew@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

mjb@cs.oregonstate.edu

Andrew GlassnerCoyote Wind Studios

andrew@glassner.com

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

mjb@cs.oregonstate.edu

Andrew GlassnerCoyote Wind Studios

andrew@glassner.com

1

Computer Graphics for Scientific Visualization

Mike BaileyOregon State University

mjb@cs.oregonstate.edu

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

mjb@cs.oregonstate.edu

GPU Shader Programming

Mike BaileyOregon State University

mjb@cs.oregonstate.edu

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

mjb@cs.oregonstate.edu

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

andrew_glassner@yahoo.com

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