<<

Introduction to SIGGRAPH and

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 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 in applications such as modeling, , rendering, and . 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 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 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 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 decisions?

• 9:45 – 10:15: GPU Programming (Bailey) o Vertex, Geometry, Fragment shaders o Where does this fit in the ? 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 o o 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

• 12:00 – 12:30: Finding additional information (Bailey)

Introduction to SIGGRAPH and Computer Graphics

Mike Bailey Andrew Glassner Oregon State University Independent

Mike Bailey

Professor of Computer Science, Oregon State University

PhD from Purdue University

Has worked at Sandia Labs, Purdue University, Megatek, San Diego Supercomputer Center (UC San Diego), and OSU [email protected] Andrew Glassner

Author, screenwriter, artist from Coyote Wind Studios

PhD from the University of North Carolina - Chapel Hill

Has worked at IBM, Bell Communications, Delft University, NYIT, Xerox PARC, Microsoft Research, and Coyote Wind Studios

[email protected]

Course Goals

• Understand the different venues at SIGGRAPH, and how to strategically attend the ones that are best for you

• Provide a background for papers, panels, and other courses

• Help appreciate the Electronic Theater

• Get more from the vendor exhibits

• Give our take on where the future is

• Provide pointers for further study Topics

• How to Attend SIGGRAPH 2007 (Mike and Andrew)

• Scientific and Data Visualization (Mike)

• GPU Programming (Mike)

• Modeling (Andrew)

• Rendering (Andrew)

• Animation (Andrew)

• Finding More Information (Mike)

Introduction to SIGGRAPH and Computer Graphics

Mike Bailey Andrew Glassner Oregon State University Independent How To Attend SIGGRAPH 2007

Mike Bailey Andrew Glassner Oregon State University Coyote Wind Studios [email protected] [email protected]

You can’t see it all, so … Think Strategically -- Make a Plan and a Schedule ! Courses

• Sunday – Wednesday

• Some are “standard knowledge” (e.g., this one…)

• Some are cutting edge

• Some are new topics

• You got the full set of notes on the courses DVD

Courses Strategy

• Choose courses that are useful

• Choose courses that are meaningful

• Chose courses where you really want to see the speaker(s)

• Choose courses for which there will be great visual presentations which cannot be replicated in the notes

• Hop around between courses to catch the best topics and speakers Web Program

• Wednesday - Thursday

• Covers issues such as: navigation, 3D interfaces, applications, , games, and standards

Opening Session

• Monday, 1:15 – 3:15 • Doors open ≈ 12:30 • Only those with Full Conference or One Day badges can enter • “State of the SIGGRAPH” message by the SIGGRAPH Chair Opening Session Awards

• Coons Award • Achievement Award • Significant New Researcher Award

Papers

• Monday-Thursday • Deep technical information • Printed in the proceedings and on the conference DVD • Strategy: attend when an animation or interactive technique is being discussed • Strategy: attend when you ththinkink you will not understand the topic from reading alone Panels

• Monday-Thursday • General discussion, opinion, sometimes controversial • Important point: sometimes transcribed, usually not • Strategy: attend when a topic, speaker, or animation you really want to see is being discussed

Sketches

• Monday - Thursday

• Paper-like content, but shorter and less formal

• Some of the work has been completed

• Some of it is “Work in Progress” Special Events

• Fast-Forward Papers review: Sunday 6:00-8:00

• ACM Student Research Competition: Tuesday, 3:45-5:30

Exhibition

• Tuesday – Thursday

• Many vendors time their hottest product releases for this week!

• But, it’s big, so go with a strategy! Exhibition Strategy

• The Exhibition is open 10:00-6:00 on Tuesday and Wednesday, and 10:00-5:00 on Thursday

• The vendors are all listed in the Program and Buyer’s Guide

• They are listed both by alphabetical name and by product category

Exhibition Strategy

• Look at the list of vendors in the Program and Buyers Guide

• Make a list of the ones you really must see and sort the list by booth number

• Booth numbers are XXYY, where XX is the Aisle # and

1 YY is ( /5)*the number of feet from the front

• For example, BunkSpeed = booth 1110, which is Aisle 11, 50 feet from the front

• Start at one end of the floor and work your way across Exhibitor Tech Talks

• Tuesday - Thursday

• 2-hour demos, tutorials, and interactive instruction

• Sometimes a raw sales pitch, but usually more informative than that Exhibition Warning

The Exhibition closes at 5:00 on Thursday afternoon, not 6:00 !!!

Electronic Theatre

• Monday – Wednesday

• Computer Graphics’s greatest animation hits for the past year

• It is considered cool to see it early in the week

• Watch to see whose piece goes first and whose goes last

• Sometimes includes an audience participation piece Reception !

• Wednesday 8:00 – 10:00

Pathfinders

• Staffed by “graphics veterans” who can give advice on attending the conference • They are also very nice people • Open Saturday – Thursday Art Gallery

• Sunday – Thursday • Always fun ! • Be sure to see it, even if you just stroll through without stopping

Get Involved !

• Tuesday, 6:30 PM Educators Program

• Wednesday and Thursday • Presentations of innovative educational uses of computer graphics • Covers both teaching computer graphics and using computer graphics to teach other things

Emerging Technologies

• Sunday - Thursday • Speculative research on graphics, visualization, robotics, music, audio, displays, haptics, sensors, gaming, web, AI, and entertainment Guerilla Studio

• Sunday - Thursday • Working studio for 2D and 3D graphics, and 3D prototyping

Job Fair

• Tuesday – Wednesday • Good place to find information on who is hiring • Also a good place to post your resume Birds of a Feather

• Opportunity for impromptuimpromptu gatherings centered around different topics • All week • Check the BOF sign-up board

Good Luck, and have fun ! How To Attend SIGGRAPH 2007

Mike Bailey Andrew Glassner Oregon State University Coyote Wind Studios [email protected] [email protected] Computer Graphics for

Mike Bailey Oregon State University

[email protected]

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.

1 Computer Graphics

Geometry “Rendering”

Display

A Gallery of Display Options

Points Lines Flat Shaded

Smooth Shaded Transparent

2 Scientific Visualization

Data “Geometrizing”

Geometry “Rendering”

Information Display & Insight

Visualization Spatial 2D 3D

Scalar

Data Dimension

Vector

3 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

4 2D Contours

3D Scalar

Examples: • Temperatures in a room • Molecular potentials

Techniques: • Colored dots (“point cloud”) • Cutting plane • Isosurfaces

5 3D Orthographic Point Cloud

3D Perspective Point Cloud

6 3D Jittered Point Cloud

Cropping the Point Cloud: Range Sliders

7 Cropping in X, Y, Z

Cropping in S

8 What’s Happening on a Cutting Plane?

What’s Happening on More Than One Cutting Plane?

9 What’s Happening within the Volume? 3D Wireframe Isosurface

3D Polygonal Isosurface

10 Isosurface + Contour Plane

Isosurfaces of Medical Data

11 3D Vector

Examples: • 3D flow field

Techniques: • Arrows (“vector cloud”) • Streamlines

3D Flow Field

Streamlines

Vector Cloud

12 3D Flow Field Probes

Ribbon Trace

Streamline Trace

3D Flow Blob Probes

13 3D Volume

Examples: • 3D Medical Scan

Techniques: •

14 A Volume is Essentially a Point Cloud Where Each Point has Size

Original Data: Range Crop the Scalar Value:

15 Cropping the Volume

Turbulent Flow

Solar Wind

16 Bone Structure

Underground Rock Layers

Setting Colors

Red+Green=Yellow Green+Blue=Cyan Red+Blue=Magenta Red+Green+Blue=White

Known as “Additive Color”, or “RGB”

glColor3f( r, g, b );

17 Color Rules: Your Eye

Rods: Provide perception of light intensity, or luminance. Lots of these, mostly concentrated in the periphery of your field of .

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

18 Black Black Black Black Black Black Black Black Black

White White White White White White White White White

Red Red Red Red Red Red Red Red Red

Yellow Yellow Yellow Yellow Yellow Yellow Yellow Yellow Yellow

Green Green Green Green Green Green Green Green Green

Blue Blue Blue Blue Blue Blue Blue Blue Blue

Color Rules

• Do not use Reds and Blues directly together

19 Reds and Blues are on opposite ends of the color spectrum. It is hard for your eyes to focus on both.

Color Rules

• The best colors for fine detail are black-grey-white. This is especially true if you are going to be videotaping this display.

20 Color Rules

• Surround contrasting color areas with a white or black line

21 Color Rules

Be aware that our perception of color changes with: • The surrounding color • The size of the object • How close two objects are • The ambient light • The age of the viewer

22 23 24 Color Rules

Watch out for afterimage effects !

+

25 Color Rules

Watch out for afterimage effects !

+

Beware of Mach Banding

26 Beware of Mach Banding

Actual Perceived Intensity Intensity

Beware of Mach Banding

Perceived Intensity Actual Intensity

27 Beware of Lots of Other Stuff

Visualization Hardcopy

• Film recording

• Color printing

•Videotaping

• Manufacturing

28 NTSC Videotaping for Visualization Hardcopy

• Resolution is 640x480, at best • Interlaced • Color bandwidth is given to, in order: 1. Luminance 267 cycles/scanline 2. Blue-Orange 96 cycles/scanline 3. Purple-Green 35 cycles/scanline • Saturated (bright) colors don’t come out well

Fabrication for Visualization Hardcopy

Black Beetle Virus

29 Oregon

Willamette Valley Geology

30 Example: Model of Southern California Fire Smoke

Example: Modeling Anabolic Aortic Aneurysms

CAT scan slices from the UCSD Medical School

Interaction in OSU vx Tesselated by (Volume Explorer) OSU vs (Volume Solid)

Fabricated at OSU Center for Visualization Prototypes

31 Summary

Scientific Visualization has “no rules”.

Anything that turns data in the computer into information and insight in your brain is fair game.

Computer Graphics for Scientific Visualization

Mike Bailey Oregon State University

[email protected]

32 GPU Shader Programming

Mike Bailey Oregon State University

[email protected]

GPU Shader Programming

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

Vertex Input Processor Devices Uniform CPU variables

B Shader Rasterizer Memory Network u Display s List Uniform Fragment variables Processor

TC RGBAZ Z-Buffer

Back Video Front Driver

Texture Memory Double-buffered

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- lighting •Fog •Blending • Discarding fragments 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

4 Octaves

1 Octave 3D Representation of 2D Noise

4 Octaves

How to Apply Noise

Have an equation to describe color assignment

Have actual coordinates at a pixel

Add Noise to the actual coordinates to produce new coordinates

Use the new coordinates in the old equation to assign a color at that pixel Noise Examples

Color Blending Color Blending for Marble for Fire

Color Blending Deciding when to for Clouds Discard for Erosion

Using Shaders to Manipulate Imagery Negatives

Brightness Contrast

Sharpening Embossing

Toon Rendering Original Image

Colors Quantized

Outlines Added Toon Rendering for Non-Photorealistic Effects

Use the GPU to enhance scientific and engineering illustration

Mandelbrot Set = 2 + zi+1 zi z0

How fast does it converge, if ever? Julia Set = 2 + zi+1 zi c

How fast does it converge, if ever?

Spectral Effects Using Shaders Rainbow Effects

~ 41 °

Color λ η Θ cosΘ ΘΘ Red ≈ 650 nm 1.510 42° 0.743 50.0° Green ≈ 500 nm 1.519 41° 0.755 51.5° Blue ≈ 400 nm 1.528 40° 0.766 53.0°

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

Original image

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

3D Line Integral Convolution

Visualization by Vasu Lakshmanan Extruding Shapes Along Flow Lines

Adding moving “humps” to create a peristaltic effect

Adding bump- mapping to aid in understanding the orientation

Geometry Processing using Shaders A Shader-eye View of the Graphics Process, with Geometry Shaders

Vertices Vertex Processor

CPU Transformed Vertices B u Assemble Create New s Geometry Geometry

Assemble New Geometry Assembled Primitive

Rasterizer

Interpolated Values

Fragment Pixels Processor

Expanding 4 Points into a Bezier Curve with a Variable Number of Line Segments

FpNum = 5 FpNum = 25 Sphere Subdivision starting with 8 triangles Level = 0

Level = 1

Level = 3

Level = 2

Shrinking Triangles Geometry Silhouettes

Hedgehog Plots Hedgehog Plots Gone Wild?

GPU Shader Programming

There are a lot of GPU shader programming resources at:

http://eecs.oregonstate.edu/~mjb/glman

Mike Bailey Oregon State University [email protected] An Introduction To Modeling

Andrew Glassner Coyote Wind Studios

3D Computer Graphics

The Big Picture

Why Create 3D Models?

• Image Synthesis •Design • Manufacturing • Simulation •Art

1 Models for Image Synthesis Models for Simulation

•Camera •Physics – Viewpoint for image – An airplane wing • Light Sources • Mechanics – Radiate light – Fit between parts – Have size and shape – Manufacturability •Objects – Physical structures

Model Attributes Levels of Detail

• Structure • Visual detail for images – Geometry and Topology • Structural detail for simulation •Appearance – Looks and

2 Seeing in 3D

• The world in basic shapes • Simple but not too simple

3 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

4 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

5

6 A>

Primitives and Instances

• Platonic “ideal” • Shapes are instances of primitives • Each instance may be different

7 Choosing a Model Model Cost Representation

•Designer’s time •Cost • Computer Storage • Effectiveness •Rendering Time • Complexity • Simulation Time • Ease of Simulation • Ease of Animation • Ease of Animation

Model Effectiveness Model Complexity

•Geometry • Number of primitives – Looks •Number of shapes – Accuracy • Complexity of each instance •Appearance – Looks – Accuracy

Model Simulation

• Is shape matched to simulator? • Articulation • Cost of conversion – Getting at the part you want – Time and storage – Getting it to move correctly – Maintaining duplicate versions • Physics of motion •Constraints

8 Modeling and Rendering Modeling and Animation

• Rendering adds light • Animating is a model over time • The renderer tracks the light • Different keys given by the • Lights and cameras are part of the are interpolated to give model. in-betweens

Levels of Detail Procedural Models

• Use only enough detail • Create model on demand – Complexity costs • Models from coarse to fine • Switch levels of detail • Requires skillful programming – Requires multiple models – Switching is hard to hide • Automatic Methods

Basic Linear Operations on Primitives

Translate

Rotate

9 10 11 B>

12 Free-Form Deformation

• Change the space, not the object • Great for animation • Allows flexible transformations – Bend, twist, taper, melt, etc.

13 C>

Types of Primitives Point Primitives

• 0 Dimensions: Points • Particle systems • 1 Dimension: Lines • Requires many particles •2 Dimensions: Surfaces • Often procedurally controlled • 3 Dimensions: Volumes

14 Surface Primitives Polygons

• Polygons • Simple to define and use •Patches • Assemble to make polyhedra • Flat • Flat • Flat • Really, really flat, always

15 16 Polygon counts

17 E> Images by Neil Blevins

Images by Neil Blevins

18 Patches Interpolation and Approximation

• Naturally curved Interpolation • Defined by control points or curves •Interpolating •Approximating

Approximation

Continuity Types of Patches

0-order • Bezier • B-spline 1-order •Bicubic •NURBS •many more 2-order

19 20 21

22 Volumetric Primitives

• Volumes that enclose some space •Open vs. closed F> • Can be complex, e.g. a donut

Voxels for Approximation

• Small blocks of space • Equally-sized (grid) • Varying sizes (octree)

Original Shape Approximation

Constructive Solid Geometry

• Combination rules for solids • Each combines two solids • Results can are new solid –CSG Tree

23 CSG Difference is Not Symmetrical A B

Union: A + B A B

Difference: A-B A-B

Intersection: A&B B-A

Difference is Useful for Cutting Holes

Block + Cylinder Block - Cylinder

24 Fillets and Blends

• Make a smooth join between surfaces G> • Hard to do automatically

Algebraic Functions Blobs

F(x,y)=0 • Algebraic functions, usually spherical • Add together to make smooth blends

F(x,y)= x2 + y2 - radius2

25

Surface of Revolution

• Make an outline •Revolve it

26 Extrusion

• Make an outline • Sweep it along a line or curve

Morph

27 Sheets

K> Shading

28 29 30 31 Texture

32 33 34

35 L> Knotwork

36 37 38 39 40 Texturing Methods

41 Native Mapping Planar Mapping

Native Mapping Native Mapping

Cylindrical Mapping Planar Mapping

42 Shrink Mapping Spherical Mapping

43 Procedural Models Fractals

•Fractals •Self-similar •Graphtals • Infinite detail • Shape Grammars – Computer only approximates • General Procedural Models • Difficult to control • Mountains and ferns

Graphtals

• Make the structure first • Add geometry later • Useful for plants and organic forms • Data Amplification

44 Shape Grammars

• Shapes that turn into other shapes • Details that work with substrate • Data Amplification

45 2D Variations

46 47 48 49 50 3D Shape Grammars

51 52 53 54 55 56 57 58 General Procedural Models

• Most powerful technique of all • Smooth changes in detail • Supports simulation, animation • Allows models that interact with the scene

59 Modeling Environments Interactive Modeling

•Interactive •Interactive •Scripted •Exploratory •Captured • Immediate Feedback • Clip Art

Scripted Modeling

• Precise •Repeatable

60 Physical Models

up 3D intuition • Stretches visual imagination

61 62 Captured Modeling Clip Art

• Allows capturing real-world shapes • Fast acquisition • Generates rich models • Can be cheaper • Can be noisy • May not be articulated as you want • Can have geometric restrictions • Difficult to customize

Modeling for Animation Conclusions

• Rigid structures are easiest to • Many primitives make •Many modelers • Articulated structures are easiest • Use what you need to animate • modeler, primitive, construction • Plan for where you want motion style, and level of detail • Built-in constraints • Think before you model!

63 64 65 Rendering Roots An Introduction To Rendering •The – Painting, Sculpture •Physics Andrew Glassner – Studying nature Coyote Wind Studios •Computers – Efficient algorithms

What is Rendering?

• Turning ideas into pictures • Communications tool • A means to an end

1 Approaches to Rendering Simulating Nature

•Simulate Nature • Advantages •Anything else – Precise goal –Path is clear – Practical value • Disadvantages – Ignores other styles

2 Photorealism

• The Big Winner so far – coined in 1968 – just one school of art – alternatives emerging

3 Today’s view Rendering

• Rendering as commodity • Transformation • Buy, don’t write • Inputs • Still requires care – Geometry, physics, programs, – Efficiency images, perception – Accuracy •Output – Effects –Images

Purpose of this talk The Rendering Equation

• The basic ideas • Unifies all algorithms – Techniques – Tradeoffs •Based on nuclear physics – Vocabulary • Trivial and self-evident • High-level understanding – Not programming!

The Big Picture

• Fake a photo (almost) • Data into picture –Geometry –Surfaces •Reflection • Transparency •Emission – Camera and film

4 Light and Matter

• Reflection • Transmission • Absorption

Rendering

• Interaction of Light and Matter –Light – Matter

The Flow of Light

• Flux • Photons in space

5 The Usual Question

• What’s the color of the light – from this point –on this surface – in this direction

The Interaction

• Light arrives •Energy transfers •Light departs

6 Shading

• 1. Calculate incident light • 2. Interact with material • 3. Calculate outgoing light

1. Gather Incident Light 2. Interact With Material

7 Visibility

• What do I see? 3. Calculate Outgoing Light • Paint by numbers

Shading and Visibility Shading

• Visibility • Fill in the numbers –What we see • Don’t stick to flat colors •Shading – How it looks

8 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

Visibility: Paint-by-numbers Why do it globally?

8 •Shadows 5 7 4 • Reflections • Refraction (transparency) 3 • Emissions (light sources) 2 6 • Subtle touches 1

Shading: Object colors Why do it locally?

• Often close enough •Fast! • Hardware support • Many effects can be faked • Unlimited scene size

9 2 • Shoot new rays to find illumination

Ray Tracing

Ray Tracing 1

• Follow lines of sight

10 Ray Tracing Without Words

11 Radiosity 1 • Discretize the environment

Radiosity 2 • Bounce energy back and forth

Radiosity

12 Radiosity 3 • View results

13 Radiosity Without Words

14 Lighting

Images by Neil Blevins

15 Comparing Ray Tracing and Radiosity

Images by Neil Blevins

Image by Neil Blevins

Image by Chris Pember

16 Hardware support Image-Based Rendering

• Z-buffers • Some photos – Inifnite # of objects • Some geometry – Local shading –Fast – Many tricks available

Rendering at extremes Sue Vision

•Atoms – or sub-atomic particles • Galaxies – or the Milky Way • Relativity • Ocean depths • Inside people

Bob Graphics

Image-Based Rendering (IBR)

17 Computer Graphics

Output

Image Model Synthetic Camera

Computer Vision Output

CG Meets CV A>

18

B>

19 20 C>

21 Fluorescence

Solar Halos

22 23 24 Halo Movie

Odd Output Media

25 Interference

26 Relativity

27 Polarization Phosphorescence

28 29 Caustics

Focused light

Image by Johan Thorngren

Image by Johan Thorngren

30 Volumetric Effects

Non-Euclidean Space

31 Exposure

•Cameras •Lenses • Films • Intended viewing conditions

Animation

• Film: 24 frames/second – 30 minutes = 43,200 frames –More for TV! • Motion blur

32 Color 2

•Devices vary – Printers vs. monitors • Perception matters – Metamers – Diet, recent conditions • Interpolation is tricky – RGB is not perceptually uniform

Non-Realistic Rendering

Color 1

•The RGB •The HSV Myth • The 8-bit Myth • The Constancy Myth • The Fifth Myth with pith

33 Real Materials

• Absorption spectra • Layers or coatings • Phosphors, fluorescents •Metals

34 Reflectivity of Paper

Images 1

• Frame buffers –Pixels – 8 bits/color •Samples – 1 sample/pixel – Supersampling

Images 2

•Storage – Components •Integer, Floating point –Symbolic • Compression – Lossy (MPEG, JPEG) – Non-lossy (GIF) – Speed vs. space

35 Compositing

• Layering of images • Backgrounds, foregrounds • Real Projection • Mattes – Matte lines – Matte operators – Alpha buffers

36 Image by Michael Spaw

Image by Steven Blackmon Image by Johan Thorngren

37 The future 1 Where The Fun Is

• Photorealism grows • Non-Realistic rendering –More accuracy •Shaders – More speed • The fuzzy space – Parallel algorithms • Subjective Rendering grows – New opportunities – More personal

Image by Tomek Baginski

Image by Jorge Seva & Sergio Miruri

The future 2 Image Credits

• Discontinuity Meshing: Dani Lischinski, Filippo Tampieri, Donald P. Greenberg • Desktop animation • 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 – Sophisticated support • Two Pass Rendering: John R. Wallace, Michael F. Cohen,Donald P. Greenberg • 3 teapots, Caustic Pool: Eric Veach – Standards and architectures • Summer Lake: Matt Pharr, Craig Kolb, Reid Gershbein, • Color Head: Philippe Lacroute, Marc Levoy – Rendering one piece among many • Material Vases: Rob Cook, Kenneth Torrance • 1984: Tom Porter, Rob Cook, Loren Carpenter • The Compleat Angler: Turner Whitted • : Cassidy Curtis • Focused Caustics: Paul Heckbert • TV Room: Bob Zeleznik, Andy Forsberg, Loring Holden • “You did what, Grandpa?” • Big Cloud: David Ebert • Interior: Michael Fowler • Sphereflake, Counter, Camshaft, Liberty Set, Ronchamps: Eric Haines

38 Thanks

• Michael F. Cohen • Peter-Pike Sloan • Jonathan Shade • Paul Debevec •Marc Levoy

39 40 41 Image by Steven Blackmon

42 An Introduction To Computer Animation

Andrew Glassner Coyote Wind Studios

1 Why Animation Works

• Many still images • Rapid succession • Persistence of vision – Must overcome flicker

2 Animation is Expensive!

• 30 frames/second • 30 minutes = 54,000 frames • 5 minutes/frame, 12 hours/day ~ 1 year • • Computer-assisted animation

Thinking About Animation

• Low level: Individual frames • Mid level: Sequences & scenes • High level: Story and message • Computer helps all 3 levels

3 Traditional 2D Animation

• Hand-drawn • Stacks of cels over background • Only redraw cels that change – Limited animation • Experimental forms

4 Traditional 3D Animation

• Individual frames • – King Kong, Wizard of Space & Time • Puppetry – Claymation • Experimental forms

Computer-Assisted Animation

•2D – Create & draw frames – Computer helps ink & paint

5 Computer-Assisted Animation

•3D – Create models, sets, poses – Computer interpolates – Computer renders, composes

6 2D Computer Animation

• What gets interpolated? –Strokes – Outlines – Colors • High-quality compositing

7 2D Morphing

• Image interpolation • Feature matching •Multiple layers

8 3D Computer Animation

• What gets interpolated? –Shape geometry – Shape appearance – Light source information –Cameras – Anything!

9 3D Computer Animation

•1. Interpolate •2. Render •3. Compose

Object Animation

•Location • Geometry • Transformations & deformations • Appearance and textures • Light sources

10 Camera Animation

•FOV •Focal length • Position & orientation

Object Interpolation

• Parameterized transformation – –Deformation • Interpolate parameters • Build new transformations

11 12 3D Animation Methods 1

• Low level manual • High level manual •Automated

Parametric Interpolation

• Any number of parameters • User-specified smoothness • Transformation & deformations • Parameter source –User – Measured (rotoscope, mocap) – Procedural

13 Kinematics

• Specify position and time • Give velocity, acceleration of parts • Nested interpolation • Each transformation accessible

14 Bouncing Ball

15 16 Bounce

Ball vertical position

17 Squash

Ball squash percentage

18 Path

Ball track position

19 Ball track percent

Path

20 Inverse Kinematics

• Goal-driven • Supports constraints • Control what you care about – Let computer fill in the rest

21 IK

22 Constraints

• Parametric restrictions • Aids in inverse kinematics – Put the foot on the ground • Restricts model to “sensible” poses and motion • Can be frustrating

23 Dynamics

• Physical simulation • Based on physics • Requires physical data – Mass, center of mass, moments of inertia, friction, etc. •Accurate motion • Difficult to control

24 Simulation

• Precompute model parameters • May be expensive • Many methods available • Complex motion – Flocking –Cloth –Liquids

25 Dynamics

26 Cloth films

27 28 29 30 Wizard

31 Parameterized Motion

•Capture • Synthesize

MOCAP processing

The Process of : Dealing with the Data Bodenheimer, Rose, Rosenthal, Pella Computer Animation and Simulation 1997

32 Compositing

• Multiple renders • Overlay results • Huge time savings • Extra control

33 34 35 Particle Systems

•Points • Born, Live, Die • Color •Motion • Geometry

Smoke

36 Bubbles

37 Scripting

• Programming language • Results of simulation – With constraints • Can include 2D transitions

38 Artificial Intelligence

• High level “director’s language” •Conversations •Shots •Scripts?

39 Combined Methods

• Key-framing major components • Simulation for details –Secondary motion

40 Slide Credits

•Charles F. Rose •Michael F. Cohen • Bobby Bodenheimer

41 Conclusions

• The computer is not the animator! • Many types of motion control • Different skills involved • Emotion still requires acting

Thank you!

[email protected]

www.glassner.com

42 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, , 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 1

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 2 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 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 3 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 , 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 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 4 1.9

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

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 , 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 6 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 7 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' products. To get the information, visit:

http://www.spec.org/benchmarks.html#gpc

April 20, 2007 8