Introduction to SIGGRAPH and Computer Graphics (Bailey)

233
Introduction to SIGGRAPH and Computer Graphics Course Speakers: Mike Bailey, Oregon State University Andrew Glassner, Coyote Wind Films The SIGGRAPH conference is an exciting event, but it is often an intimidating experience for first-time attendees. There are so many new terms, new concepts, and new products to try to understand. It is like standing in a room with 100 doors and having no idea which door to open because you have no idea what the label on each door actually means. This leaves new attendees baffled and frustrated about how to spend their time. This course is designed to ease newcomers into the SIGGRAPH conference experience by presenting the fundamental concepts and vocabulary at a level that can be readily understood. Far from being made up of dry facts, this course will also portray the fun and excitement that led most of us here in the first place. Attendees in the course will become well-prepared to understand, appreciate, enjoy, network, and learn from the rest of the SIGGRAPH experience. This is a half-day Beginning course. This course will be given lecture-style. There will be live demos showing the use of computer graphics in applications such as modeling, animation, rendering, and visualization. These will be used to illustrate fundamental concepts and to illustrate those concepts in applications. Lecturers: Mike Bailey Computer Science Oregon State University 2117 Kelley Engineering Center Corvallis, OR 97331-5501 W: 541-737-2542 F: 541-737-1300 [email protected] Mike Bailey is a professor in Computer Science at Oregon State University. Mike holds a PhD from Purdue University. Mike has worked at Sandia National Labs, Purdue University, Megatek Corporation, and the San Diego Supercomputer Center. Mike has extensive experience with the SIGGRAPH courses, having been Courses Chair five times and Conference Co-Chair in 1991. Mike has taught numerous classes at conferences (SIGGRAPH, IEEE Visualization, Supercomputing), at the college level (Purdue, UC San Diego, San Diego State University, Oregon State University), and

Transcript of Introduction to SIGGRAPH and Computer Graphics (Bailey)

Page 1: 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 [email protected]

Mike Bailey is a professor in Computer Science at Oregon State University. Mike holds a PhD from Purdue University. Mike has worked at Sandia National Labs, Purdue University, Megatek Corporation, and the San Diego Supercomputer Center. Mike has extensive experience with the SIGGRAPH courses, having been Courses Chair five times and Conference Co-Chair in 1991. Mike has taught numerous classes at conferences (SIGGRAPH, IEEE Visualization, Supercomputing), at the college level (Purdue, UC San Diego, San Diego State University, Oregon State University), and

Page 2: Introduction to SIGGRAPH and Computer Graphics (Bailey)

commercially. Mike was five times voted Computer Science Teacher of the Year by the UCSD CS seniors.

Andrew Glassner Coyote Wind Films 726 North 47th Street Seattle, WA 98103 W: 206-632-7663 F: 206-632-7665 [email protected]

Andrew Glassner is an independent writer and consultant. Andrew holds a PhD from the University of North Carolina at Chapel Hill. Andrew is well known in the SIGGRAPH community through his papers, panel presentations, and course speaking. Andrew has also worked at Xerox PARC, IBM Watson Research Lab, Bell Communications Research, Delft University, the New York Institute of Technology, and Microsoft Research. Andrew is familiar with the workings of SIGGRAPH, having been Papers Chair in 1994. Andrew is also known for his "unique" sense of humor that comes through in his presentations.

Prerequisites

The prerequisites for this course are a basic understanding of computers and algebra. We will fill in all other required knowledge by carefully planning the order of presentations.

Level of Difficulty

Beginner

Intended Audience

This course is intended for the complete newcomer to SIGGRAPH and computer graphics who wants to learn some of the basic terms and concepts in computer graphics as well as receive some guidance on how to get the most out of attending SIGGRAPH.

Page 3: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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)

Page 4: Introduction to SIGGRAPH and Computer Graphics (Bailey)

o Keyframe interpolation o Object geometry animation o Camera animation o Kinematics and inverse kinematics

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

Page 5: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Introduction to SIGGRAPHand Computer Graphics

Mike BaileyMike BaileyOregon State UniversityOregon State University

Andrew Andrew GlassnerGlassnerIndependentIndependent

Mike Bailey

Professor of Computer Science, Oregon State UniversityProfessor of Computer Science, Oregon State University

PhD from Purdue UniversityPhD from Purdue University

Has worked at Sandia Labs, Purdue University, Has worked at Sandia Labs, Purdue University, Megatek, San Diego Supercomputer CenterMegatek, San Diego Supercomputer Center(UC San Diego), and OSU(UC San Diego), and OSU

[email protected]@cs.oregonstate.edu

Page 6: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Andrew Glassner

Author, screenwriter, artist from Coyote Wind StudiosAuthor, screenwriter, artist from Coyote Wind Studios

PhD from the University of North Carolina PhD from the University of North Carolina --Chapel HillChapel Hill

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

[email protected]@glassner.com

Course Goals

•• Understand the different venues at SIGGRAPH,Understand the different venues at SIGGRAPH,

and how to strategically attend the ones that are best for youand how to strategically attend the ones that are best for you

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

•• Help appreciate the Electronic TheaterHelp appreciate the Electronic Theater

•• Get more from the vendor exhibitsGet more from the vendor exhibits

•• Give our take on where the future isGive our take on where the future is

•• Provide pointers for further studyProvide pointers for further study

Page 7: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 8: Introduction to SIGGRAPH and Computer Graphics (Bailey)

How To Attend SIGGRAPH 2007

Mike BaileyOregon State University

[email protected]

Andrew GlassnerCoyote Wind Studios

[email protected]

You can’t see it all, so …

Think Strategically -- Make a Plan and a Schedule !

Page 9: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 10: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 11: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 12: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 13: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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!

Page 14: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 15: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 16: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 17: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 18: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 19: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 20: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 21: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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 !

Page 22: Introduction to SIGGRAPH and Computer Graphics (Bailey)

How To Attend SIGGRAPH 2007

Mike BaileyOregon State University

[email protected]

Andrew GlassnerCoyote Wind Studios

[email protected]

Page 23: Introduction to SIGGRAPH and Computer Graphics (Bailey)

1

Computer Graphics for Scientific Visualization

Mike BaileyOregon 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.

Page 24: Introduction to SIGGRAPH and Computer Graphics (Bailey)

2

Computer Graphics

Geometry

Display

“Rendering”

A Gallery of Display OptionsPoints Lines Flat Shaded

SmoothShaded Transparent

Page 25: Introduction to SIGGRAPH and Computer Graphics (Bailey)

3

Scientific Visualization

Geometry

Display

Data“Geometrizing”

“Rendering”

Information& Insight

Visualization DimensionsSpatial

Dimension

DataDimension

2D 3D

Scalar

Vector

Page 26: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 27: Introduction to SIGGRAPH and Computer Graphics (Bailey)

5

2D Contours

3D Scalar

Examples:

• Temperatures in a room

• Molecular potentials

Techniques:

• Colored dots (“point cloud”)

• Cutting plane

• Isosurfaces

Page 28: Introduction to SIGGRAPH and Computer Graphics (Bailey)

6

3D Orthographic Point Cloud

3D Perspective Point Cloud

Page 29: Introduction to SIGGRAPH and Computer Graphics (Bailey)

7

3D Jittered Point Cloud

Cropping the Point Cloud:Range Sliders

Page 30: Introduction to SIGGRAPH and Computer Graphics (Bailey)

8

Croppingin X, Y, Z

Cropping in S

Page 31: Introduction to SIGGRAPH and Computer Graphics (Bailey)

9

What’s Happening on a Cutting Plane?

What’s Happening on More Than One

Cutting Plane?

Page 32: Introduction to SIGGRAPH and Computer Graphics (Bailey)

10

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

3D Polygonal Isosurface

Page 33: Introduction to SIGGRAPH and Computer Graphics (Bailey)

11

Isosurface + Contour Plane

Isosurfaces of Medical Data

Page 34: Introduction to SIGGRAPH and Computer Graphics (Bailey)

12

3D Vector

Examples:

• 3D flow field

Techniques:

• Arrows (“vector cloud”)

• Streamlines

3D Flow Field

Vector Cloud

Streamlines

Page 35: Introduction to SIGGRAPH and Computer Graphics (Bailey)

13

3D Flow Field Probes

Ribbon Trace

Streamline Trace

3D Flow Blob Probes

Page 36: Introduction to SIGGRAPH and Computer Graphics (Bailey)

14

3D Volume

Examples:

• 3D Medical Scan

Techniques:

• Volume Rendering

Page 37: Introduction to SIGGRAPH and Computer Graphics (Bailey)

15

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

Range Crop the Scalar Value:

Original Data:

Page 38: Introduction to SIGGRAPH and Computer Graphics (Bailey)

16

Cropping the Volume

Solar Wind

Turbulent Flow

Page 39: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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”

Page 40: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 41: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 42: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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.

Page 43: Introduction to SIGGRAPH and Computer Graphics (Bailey)

21

Color Rules

• Surround contrasting color areas with a white or black line

Page 44: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 45: Introduction to SIGGRAPH and Computer Graphics (Bailey)

23

Page 46: Introduction to SIGGRAPH and Computer Graphics (Bailey)

24

Page 47: Introduction to SIGGRAPH and Computer Graphics (Bailey)

25

Color Rules

Watch out for afterimage effects !

+

Page 48: Introduction to SIGGRAPH and Computer Graphics (Bailey)

26

Color Rules

Watch out for afterimage effects !

+

Beware of Mach Banding

Page 49: Introduction to SIGGRAPH and Computer Graphics (Bailey)

27

ActualIntensity

PerceivedIntensity

Beware of Mach Banding

Beware of Mach Banding

ActualIntensity

PerceivedIntensity

Page 50: Introduction to SIGGRAPH and Computer Graphics (Bailey)

28

Beware of Lots of Other Stuff

Visualization Hardcopy

• Film recording

• Color printing

• Videotaping

• Manufacturing

Page 51: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 52: Introduction to SIGGRAPH and Computer Graphics (Bailey)

30

Oregon

Willamette Valley Geology

Page 53: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 54: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

[email protected]

Page 55: Introduction to SIGGRAPH and Computer Graphics (Bailey)

GPU Shader Programming

Mike BaileyOregon State University

[email protected]

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!

Page 56: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 57: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Bump Mapping with Shaders

Changing the Bump Height

Page 58: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Cube Mapping with Shaders

Cube Map of Nvidia’s Lobby

Page 59: Introduction to SIGGRAPH and Computer Graphics (Bailey)
Page 60: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Using Noise in Shaders

Positional Noise

Page 61: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Gradient Noise

Image Representation of 2D Noise

1 Octave

4 Octaves

Page 62: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 63: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 64: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Negatives

Brightness

Page 65: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Contrast

Sharpening

Page 66: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Embossing

Toon RenderingOriginal Image

Colors Quantized

Outlines Added

Page 67: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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?

Page 68: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Julia Set

czz ii +=+

21

How fast does itconverge, if ever?

Spectral Effects Using Shaders

Page 69: Introduction to SIGGRAPH and Computer Graphics (Bailey)

~ 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

Page 70: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Scientific Visualization using Shaders

Bump-Mapping for Terrain Visualization

Visualization by Nick Gebbie

Page 71: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 72: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 73: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 74: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Sphere Subdivision starting with 8 trianglesLevel = 0

Level = 1

Level = 3

Level = 2

Shrinking Triangles

Page 75: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Geometry Silhouettes

Hedgehog Plots

Page 76: Introduction to SIGGRAPH and Computer Graphics (Bailey)

Hedgehog Plots Gone Wild?

GPU Shader Programming

Mike BaileyOregon State University

[email protected]

There are a lot of GPU shader programming resources at:

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

Page 77: Introduction to SIGGRAPH and Computer Graphics (Bailey)

1

An Introduction ToModeling

Andrew GlassnerCoyote Wind Studios

3D Computer Graphics

The Big Picture

Why Create 3D Models?

• Image Synthesis• Design• Manufacturing• Simulation• Art

Page 78: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 79: Introduction to SIGGRAPH and Computer Graphics (Bailey)

3

Seeing in 3D

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

Page 80: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 81: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 82: Introduction to SIGGRAPH and Computer Graphics (Bailey)

6

<AModel Manipulation

Page 83: Introduction to SIGGRAPH and Computer Graphics (Bailey)

7

A>Primitives and Instances

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

Page 84: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 85: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 86: Introduction to SIGGRAPH and Computer Graphics (Bailey)

10

Page 87: Introduction to SIGGRAPH and Computer Graphics (Bailey)

11

Page 88: Introduction to SIGGRAPH and Computer Graphics (Bailey)

12

B>

Page 89: Introduction to SIGGRAPH and Computer Graphics (Bailey)

13

Free-Form Deformation

• Change the space, not the object• Great for animation• Allows flexible transformations

–Bend, twist, taper, melt, etc.

<CFFD

Page 90: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 91: Introduction to SIGGRAPH and Computer Graphics (Bailey)

15

Surface Primitives

• Polygons• Patches

Polygons

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

<DPolygon shading

Page 92: Introduction to SIGGRAPH and Computer Graphics (Bailey)

16

Page 93: Introduction to SIGGRAPH and Computer Graphics (Bailey)

17

D> <EPolygon counts

Page 94: Introduction to SIGGRAPH and Computer Graphics (Bailey)

18

E>Images by Neil Blevins

Images by Neil Blevins

Page 95: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 96: Introduction to SIGGRAPH and Computer Graphics (Bailey)

20

Page 97: Introduction to SIGGRAPH and Computer Graphics (Bailey)

21

Page 98: Introduction to SIGGRAPH and Computer Graphics (Bailey)

22

<FMesh Smooth

Page 99: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 100: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 101: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 102: Introduction to SIGGRAPH and Computer Graphics (Bailey)

26

Blobby movie

<HSOR, Extrude, Loft

Surface of Revolution

• Make an outline• Revolve it

Page 103: Introduction to SIGGRAPH and Computer Graphics (Bailey)

27

Extrusion

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

H> <JMorph

Page 104: Introduction to SIGGRAPH and Computer Graphics (Bailey)

28

J> <KSheets

K> Shading

Page 105: Introduction to SIGGRAPH and Computer Graphics (Bailey)

29

Page 106: Introduction to SIGGRAPH and Computer Graphics (Bailey)

30

Page 107: Introduction to SIGGRAPH and Computer Graphics (Bailey)

31

Page 108: Introduction to SIGGRAPH and Computer Graphics (Bailey)

32

Texture

Page 109: Introduction to SIGGRAPH and Computer Graphics (Bailey)

33

Page 110: Introduction to SIGGRAPH and Computer Graphics (Bailey)

34

Page 111: Introduction to SIGGRAPH and Computer Graphics (Bailey)

35

<LSolid Texture

Page 112: Introduction to SIGGRAPH and Computer Graphics (Bailey)

36

L> Knotwork

Page 113: Introduction to SIGGRAPH and Computer Graphics (Bailey)

37

Page 114: Introduction to SIGGRAPH and Computer Graphics (Bailey)

38

Page 115: Introduction to SIGGRAPH and Computer Graphics (Bailey)

39

Page 116: Introduction to SIGGRAPH and Computer Graphics (Bailey)

40

Page 117: Introduction to SIGGRAPH and Computer Graphics (Bailey)

41

Texturing Methods

Page 118: Introduction to SIGGRAPH and Computer Graphics (Bailey)

42

Native Mapping Planar Mapping

Native Mapping Native Mapping

Cylindrical Mapping Planar Mapping

Page 119: Introduction to SIGGRAPH and Computer Graphics (Bailey)

43

Shrink Mapping Spherical Mapping

Page 120: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 121: Introduction to SIGGRAPH and Computer Graphics (Bailey)

45

Shape Grammars

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

Page 122: Introduction to SIGGRAPH and Computer Graphics (Bailey)

46

2D Variations

Page 123: Introduction to SIGGRAPH and Computer Graphics (Bailey)

47

Page 124: Introduction to SIGGRAPH and Computer Graphics (Bailey)

48

Page 125: Introduction to SIGGRAPH and Computer Graphics (Bailey)

49

Page 126: Introduction to SIGGRAPH and Computer Graphics (Bailey)

50

Page 127: Introduction to SIGGRAPH and Computer Graphics (Bailey)

51

3D Shape Grammars

Page 128: Introduction to SIGGRAPH and Computer Graphics (Bailey)

52

Page 129: Introduction to SIGGRAPH and Computer Graphics (Bailey)

53

Page 130: Introduction to SIGGRAPH and Computer Graphics (Bailey)

54

Page 131: Introduction to SIGGRAPH and Computer Graphics (Bailey)

55

Page 132: Introduction to SIGGRAPH and Computer Graphics (Bailey)

56

Page 133: Introduction to SIGGRAPH and Computer Graphics (Bailey)

57

Page 134: Introduction to SIGGRAPH and Computer Graphics (Bailey)

58

Page 135: Introduction to SIGGRAPH and Computer Graphics (Bailey)

59

General Procedural Models

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

the scene

Page 136: Introduction to SIGGRAPH and Computer Graphics (Bailey)

60

Modeling Environments

• Interactive• Scripted• Captured• Clip Art

Interactive Modeling

• Interactive• Exploratory• Immediate Feedback

Scripted Modeling

• Precise• Repeatable

Page 137: Introduction to SIGGRAPH and Computer Graphics (Bailey)

61

Physical Models

• Build up 3D intuition• Stretches visual imagination

Page 138: Introduction to SIGGRAPH and Computer Graphics (Bailey)

62

Page 139: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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!

Page 140: Introduction to SIGGRAPH and Computer Graphics (Bailey)

64

Page 141: Introduction to SIGGRAPH and Computer Graphics (Bailey)

65

Page 142: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 143: Introduction to SIGGRAPH and Computer Graphics (Bailey)

2

Approaches to Rendering

• Simulate Nature• Anything else

Simulating Nature

• Advantages–Precise goal–Path is clear–Practical value

• Disadvantages– Ignores other styles

Page 144: Introduction to SIGGRAPH and Computer Graphics (Bailey)

3

Photorealism

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

Page 145: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 146: Introduction to SIGGRAPH and Computer Graphics (Bailey)

5

Rendering

• Interaction of Light and Matter–Light–Matter

The Flow of Light

• Flux• Photons in space

Light and Matter

• Reflection• Transmission• Absorption

Page 147: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 148: Introduction to SIGGRAPH and Computer Graphics (Bailey)

7

Shading

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

1. Gather Incident Light 2. Interact With Material

Page 149: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 150: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 151: Introduction to SIGGRAPH and Computer Graphics (Bailey)

10

Ray Tracing

Ray Tracing 1

• Follow lines of sight

Ray Tracing 2• Shoot new rays to find illumination

Page 152: Introduction to SIGGRAPH and Computer Graphics (Bailey)

11

Ray TracingWithout Words

Page 153: Introduction to SIGGRAPH and Computer Graphics (Bailey)

12

Radiosity

Radiosity 1

• Discretize the environment

Radiosity 2

• Bounce energy back and forth

Page 154: Introduction to SIGGRAPH and Computer Graphics (Bailey)

13

Radiosity 3• View results

Page 155: Introduction to SIGGRAPH and Computer Graphics (Bailey)

14

RadiosityWithout Words

Page 156: Introduction to SIGGRAPH and Computer Graphics (Bailey)

15

Lighting

Images by

Neil Blevins

Page 157: Introduction to SIGGRAPH and Computer Graphics (Bailey)

16

Images by

Neil Blevins

Image by

Neil Blevins

Image by Chris Pember

ComparingRay Tracing and

Radiosity

Page 158: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 159: Introduction to SIGGRAPH and Computer Graphics (Bailey)

18

Computer Graphics

Image

Output

ModelSyntheticCamera

Real Scene

Computer Vision

Real Cameras

Model

Output

CG Meets CV

<AAlpha Maps

A>

Page 160: Introduction to SIGGRAPH and Computer Graphics (Bailey)

19

<BStreet Barricade

B>

<CPatio Table

Page 161: Introduction to SIGGRAPH and Computer Graphics (Bailey)

20

Page 162: Introduction to SIGGRAPH and Computer Graphics (Bailey)

21

C>

Page 163: Introduction to SIGGRAPH and Computer Graphics (Bailey)

22

Fluorescence

Solar Halos

Page 164: Introduction to SIGGRAPH and Computer Graphics (Bailey)

23

Page 165: Introduction to SIGGRAPH and Computer Graphics (Bailey)

24

Page 166: Introduction to SIGGRAPH and Computer Graphics (Bailey)

25

Halo Movie

Odd Output Media

Page 167: Introduction to SIGGRAPH and Computer Graphics (Bailey)

26

Interference

Page 168: Introduction to SIGGRAPH and Computer Graphics (Bailey)

27

Relativity

Page 169: Introduction to SIGGRAPH and Computer Graphics (Bailey)

28

Polarization Phosphorescence

Page 170: Introduction to SIGGRAPH and Computer Graphics (Bailey)

29

Page 171: Introduction to SIGGRAPH and Computer Graphics (Bailey)

30

Caustics

Focused light

Image by Johan Thorngren

Image by Johan Thorngren

Page 172: Introduction to SIGGRAPH and Computer Graphics (Bailey)

31

Volumetric Effects

Non-Euclidean Space

Page 173: Introduction to SIGGRAPH and Computer Graphics (Bailey)

32

Animation

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

• Motion blur

Exposure

• Cameras• Lenses• Films• Intended viewing conditions

Page 174: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 175: Introduction to SIGGRAPH and Computer Graphics (Bailey)

34

Real Materials

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

Page 176: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 177: Introduction to SIGGRAPH and Computer Graphics (Bailey)

36

Compositing

• Layering of images• Backgrounds, foregrounds• Real Projection• Mattes

–Matte lines–Matte operators–Alpha buffers

Page 178: Introduction to SIGGRAPH and Computer Graphics (Bailey)

37

Image by Steven Blackmon

Image by Michael Spaw

Image by Johan Thorngren

Page 179: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 180: Introduction to SIGGRAPH and Computer Graphics (Bailey)

39

Thanks

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

Page 181: Introduction to SIGGRAPH and Computer Graphics (Bailey)

40

Page 182: Introduction to SIGGRAPH and Computer Graphics (Bailey)

41

Page 183: Introduction to SIGGRAPH and Computer Graphics (Bailey)

42

Image by

Steven Blackmon

Page 184: Introduction to SIGGRAPH and Computer Graphics (Bailey)

1

An Introduction ToComputer Animation

Andrew GlassnerCoyote Wind Studios

Page 185: Introduction to SIGGRAPH and Computer Graphics (Bailey)

2

Why Animation Works

• Many still images• Rapid succession• Persistence of vision

–Must overcome flicker

Page 186: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 187: Introduction to SIGGRAPH and Computer Graphics (Bailey)

4

Traditional 2D Animation

• Hand-drawn cels• Stacks of cels over background• Only redraw cels that change

–Limited animation

• Experimental forms

Page 188: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 189: Introduction to SIGGRAPH and Computer Graphics (Bailey)

6

Computer-Assisted Animation

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

Page 190: Introduction to SIGGRAPH and Computer Graphics (Bailey)

7

2D Computer Animation

• What gets interpolated?–Strokes–Outlines–Colors

• High-quality compositing

Page 191: Introduction to SIGGRAPH and Computer Graphics (Bailey)

8

2D Morphing

• Image interpolation• Feature matching• Multiple layers

Page 192: Introduction to SIGGRAPH and Computer Graphics (Bailey)

9

3D Computer Animation

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

Page 193: Introduction to SIGGRAPH and Computer Graphics (Bailey)

10

3D Computer Animation

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

Object Animation

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

Page 194: Introduction to SIGGRAPH and Computer Graphics (Bailey)

11

Camera Animation

• FOV• Focal length• Position & orientation

Object Interpolation

• Parameterized transformation–Rotation–Scaling–Deformation

• Interpolate parameters• Build new transformations

Page 195: Introduction to SIGGRAPH and Computer Graphics (Bailey)

12

Page 196: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 197: Introduction to SIGGRAPH and Computer Graphics (Bailey)

14

Kinematics

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

Page 198: Introduction to SIGGRAPH and Computer Graphics (Bailey)

15

Bouncing Ball

Page 199: Introduction to SIGGRAPH and Computer Graphics (Bailey)

16

Page 200: Introduction to SIGGRAPH and Computer Graphics (Bailey)

17

Bounce

Ball vertical position

Page 201: Introduction to SIGGRAPH and Computer Graphics (Bailey)

18

Squash

Ball squash percentage

Page 202: Introduction to SIGGRAPH and Computer Graphics (Bailey)

19

Path

Ball track position

Page 203: Introduction to SIGGRAPH and Computer Graphics (Bailey)

20

Ball track percent

Path

Page 204: Introduction to SIGGRAPH and Computer Graphics (Bailey)

21

Inverse Kinematics

• Goal-driven• Supports constraints• Control what you care about

–Let computer fill in the rest

Page 205: Introduction to SIGGRAPH and Computer Graphics (Bailey)

22

IK

Page 206: Introduction to SIGGRAPH and Computer Graphics (Bailey)

23

Constraints

• Parametric restrictions• Aids in inverse kinematics

–Put the foot on the ground

• Restricts model to “sensible” poses and motion

• Can be frustrating

Page 207: Introduction to SIGGRAPH and Computer Graphics (Bailey)

24

Dynamics

• Physical simulation• Based on physics• Requires physical data

– Mass, center of mass, moments of inertia, friction, etc.

• Accurate motion• Difficult to control

Page 208: Introduction to SIGGRAPH and Computer Graphics (Bailey)

25

Simulation

• Precompute model parameters• May be expensive• Many methods available• Complex motion

–Flocking–Cloth–Liquids

Page 209: Introduction to SIGGRAPH and Computer Graphics (Bailey)

26

Dynamics

Page 210: Introduction to SIGGRAPH and Computer Graphics (Bailey)

27

Cloth films

Page 211: Introduction to SIGGRAPH and Computer Graphics (Bailey)

28

Page 212: Introduction to SIGGRAPH and Computer Graphics (Bailey)

29

Page 213: Introduction to SIGGRAPH and Computer Graphics (Bailey)

30

Page 214: Introduction to SIGGRAPH and Computer Graphics (Bailey)

31

Wizard

Page 215: Introduction to SIGGRAPH and Computer Graphics (Bailey)

32

Parameterized Motion

• Capture• Synthesize

MOCAP processing

The Process of Motion Capture: Dealing with the DataBodenheimer, Rose, Rosenthal, Pella

Computer Animation and Simulation 1997

Page 216: Introduction to SIGGRAPH and Computer Graphics (Bailey)

33

Compositing

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

Page 217: Introduction to SIGGRAPH and Computer Graphics (Bailey)

34

Page 218: Introduction to SIGGRAPH and Computer Graphics (Bailey)

35

Page 219: Introduction to SIGGRAPH and Computer Graphics (Bailey)

36

Particle Systems

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

Smoke

Page 220: Introduction to SIGGRAPH and Computer Graphics (Bailey)

37

Bubbles

Page 221: Introduction to SIGGRAPH and Computer Graphics (Bailey)

38

Scripting

• Programming language • Results of simulation

–With constraints

• Can include 2D transitions

Page 222: Introduction to SIGGRAPH and Computer Graphics (Bailey)

39

Artificial Intelligence

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

Page 223: Introduction to SIGGRAPH and Computer Graphics (Bailey)

40

Combined Methods

• Key-framing major components• Simulation for details

–Secondary motion

Page 224: Introduction to SIGGRAPH and Computer Graphics (Bailey)

41

Slide Credits

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

Page 225: Introduction to SIGGRAPH and Computer Graphics (Bailey)

42

Conclusions

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

[email protected]

www.glassner.com

Thank you!

Page 226: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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.

Page 227: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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.

Page 228: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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.

Page 229: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 230: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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.

Page 231: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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)

Page 232: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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

Page 233: Introduction to SIGGRAPH and Computer Graphics (Bailey)

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