rumination on illumination (computer graphics)

51
Rumination on illumination (computer graphics) COS 116, Spring 2012 Adam Finkelstein

Upload: virgil

Post on 25-Feb-2016

42 views

Category:

Documents


1 download

DESCRIPTION

Rumination on illumination (computer graphics). COS 116, Spring 2012 Adam Finkelstein. Applications. Entertainment Computer-aided design Scientific visualization Training Education E-commerce Computer art. Inside a Thunderstorm (Bob Wilhelmson, UIUC). Boeing 777 Airplane. Overview. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Rumination on illumination (computer graphics)

Rumination on illumination (computer graphics)

COS 116, Spring 2012Adam Finkelstein

Page 2: Rumination on illumination (computer graphics)

Applications Entertainment Computer-aided design Scientific visualization Training Education E-commerce Computer art

Boeing 777 AirplaneInside a Thunderstorm

(Bob Wilhelmson, UIUC)

Page 3: Rumination on illumination (computer graphics)

Overview

I. ImagesII. ModelingIII. RenderingIV. Animation

Image Processing(Rusty Coleman, CS426, Fall99)

Rendering(Michael Bostock, CS426, Fall99)

Animation(Jon Beyer,

CS426, Spring04)

Modeling(Dennis Zorin, CalTech)

Page 4: Rumination on illumination (computer graphics)

Part 1: Images

Q: What is an image?

Page 5: Rumination on illumination (computer graphics)

Brief history of image captureCamera obscura• Known to Chinese 5thC. BC

19th century: Camera• Hole Lens• Paper Light sensitive

Late 20th century: Digital camera• Light-senstive paper CCD/electronics

Page 6: Rumination on illumination (computer graphics)

Digital images Rectangular (2D) array of pixels

Continuous image Digital image

Page 7: Rumination on illumination (computer graphics)

Image Display

Re-create continuous function from samplesExample: cathode ray tube (CRT)

Image is reconstructedby displaying pixels

with finite area of color

Page 8: Rumination on illumination (computer graphics)

LCD Screen

Page 9: Rumination on illumination (computer graphics)

RGB Color Model

Plate II.3 from FvDFH

R G B Color 0.0 0.0 0.0 Black1.0 0.0 0.0 Red0.0 1.0 0.0 Green0.0 0.0 1.0 Blue1.0 1.0 0.0 Yellow1.0 0.0 1.0 Magenta0.0 1.0 1.0 Cyan1.0 1.0 1.0 White0.5 0.0 0.0 ?1.0 0.5 0.5 ?1.0 0.5 0.0 ?0.5 0.3 0.1 ?

Colors are additive

Page 10: Rumination on illumination (computer graphics)

What is an Image?

Continuous image Digital image

Rectangular (2D) array of pixels

Page 11: Rumination on illumination (computer graphics)

What is an Image?

Continuous image Digital image

A pixel is a sample, not a little square!

(digital audio)

Rectangular (2D) array of pixels

Page 12: Rumination on illumination (computer graphics)

Sampling and Reconstruction

Sampling(e.g. digital camera)

Reconstruction(e.g. CRT)

Page 13: Rumination on illumination (computer graphics)

Adjusting Brightness

Simply scale pixel componentsMust clamp to range (e.g., 0 to 1)

Original Brighter

Page 14: Rumination on illumination (computer graphics)

Adjusting Contrast Compute average luminance L for all pixels

L = 0.30*r + 0.59*g + 0.11*b Scale deviation from L for each pixel

Must clamp to range (e.g., 0 to 1)

Original More Contrast

L

Page 15: Rumination on illumination (computer graphics)

Scaling the image Resample with

fewer or more pixels(mathy theory…)

Original 1/4X resolution

4X resolution

Page 16: Rumination on illumination (computer graphics)

Image Warping Move pixels of image (resampling)

Source image Destination image

Warp

Page 17: Rumination on illumination (computer graphics)

Image Morphing

Image0

Image1

Warp0

Warp1

[Beier & Neeley]

Result

Page 18: Rumination on illumination (computer graphics)

Image Morphing Another example, T2, uses 3D graphics…

Page 19: Rumination on illumination (computer graphics)

Part II: Modeling How to construct and represent shapes (in 3D)

(Remo3D)

Page 20: Rumination on illumination (computer graphics)

Modeling in SketchUp (demo)

Page 21: Rumination on illumination (computer graphics)

Model representation Most common: list of triangles

Three vertices in 3D(x1, y1, z1)(x2, y2, z2)(x3, y3, z3)

Page 22: Rumination on illumination (computer graphics)

Part III: Rendering Direct illumination

One bounce from light to eye Implemented in graphics cards OpenGL, DirectX, …

Global illumination Many bounces Ray tracing

Direct Illumination(Chi Zhang, CS 426, Fall99)

Ray Tracing(Greg Larson)

Page 23: Rumination on illumination (computer graphics)

Ray Casting A (slow) method for computing direct illumination For each sample:

Construct ray from eye through image plane

Find first surface intersectedby ray

Compute color of sample based on surface properties

eye

Page 24: Rumination on illumination (computer graphics)

Lighting Simulation

Lighting parametersLight source emissionSurface reflectance

NN

eye

Surface

LightSource

Page 25: Rumination on illumination (computer graphics)

Simple Reflectance Model

Simple analytic model: diffuse reflection +specular reflection +ambient lighting

SurfaceBased on modelproposed by Phong

Page 26: Rumination on illumination (computer graphics)

Diffuse Reflection Assume surface reflects equally in all directions

Examples: chalk, clay

Surface

Page 27: Rumination on illumination (computer graphics)

Specular Reflection Reflection is strongest near mirror angle

Examples: mirrors, metals

N

LR qq

Page 28: Rumination on illumination (computer graphics)

Ambient Lighting

This is a total cheat (avoids complexity of global illumination)!

Represents reflection of all indirect illumination

Page 29: Rumination on illumination (computer graphics)

Combine colors of light & surface

N

L

V

Viewer

Surface color(possibly in texture)

Light color

Page 30: Rumination on illumination (computer graphics)

Sum For Multiple Lights

N

L2

V

Viewer L1

Page 31: Rumination on illumination (computer graphics)

Lighting Simulation

Direct illuminationRay castingOther methods

Global illuminationRay tracingOther methods

NN

Camera

Surface

LightSource

N

Page 32: Rumination on illumination (computer graphics)

Path Types L = lightD = diffuse bounceS = specular bounceE = eye

Page 33: Rumination on illumination (computer graphics)

Path Types?

Henrik Wann Jensen

Page 34: Rumination on illumination (computer graphics)

Ray Tracing

Henrik Wann Jensen

(note: texture)

Page 35: Rumination on illumination (computer graphics)

Ray Tracing

RenderPark

Page 36: Rumination on illumination (computer graphics)

Ray Tracing

Terminator 2

Page 37: Rumination on illumination (computer graphics)

Part IV: Animation

Keyframe animationArticulated figures

SimulationParticle systems

Animation(Jon Beyer,

CS426, Spring04)

Simulation

Page 38: Rumination on illumination (computer graphics)

Articulated Figures

Rose et al. `96

Well-suited for humanoid charactersRoot

LHip

LKnee

LAnkle

RHip

RKnee

RAnkle

Chest

LCollar

LShld

LElbow

LWrist

LCollar

LShld

LElbow

LWrist

Neck

Head

Page 39: Rumination on illumination (computer graphics)

Keyframe Animation: Luxo Jr.

Pixar

Page 40: Rumination on illumination (computer graphics)

Keyframe Animation Define character poses at specific times:

“keyframes” “In between” poses found by interpolation

Lasseter `87

Page 41: Rumination on illumination (computer graphics)

Keyframe Animation

Inbetweening: may not be plausible

Lasseter `87

Page 42: Rumination on illumination (computer graphics)

Keyframe Animation

Solution: add more keyframes

Lasseter `87

Page 43: Rumination on illumination (computer graphics)

Simulation Animator cannot specify motion for:

o Smoke, water, cloth, hair, fire

Cloth(Baraff & Witkin `98)

Water

Hot Gases(Foster & Metaxas `97)

Page 44: Rumination on illumination (computer graphics)

Particle Systems Recall: “Game of Life” For each frame (time step):

Create new particles and assign attributes Delete any expired particles Update particles based on attributes and physics

Newton’s Law: f=ma Render particles

Page 45: Rumination on illumination (computer graphics)

Particle Systems A particle is a point mass

Mass Position Velocity Acceleration Color Lifetime

Many particles to model complex phenomena Keep array of particles

p = (x,y,z)

v

Page 46: Rumination on illumination (computer graphics)

Creating/Deleting Particles Where to create particles?

Around some center Along some path Surface of shape Where particle density is low

When to delete particles? Areas of high density Life span Random

This is where person controls animation

Page 47: Rumination on illumination (computer graphics)

Example: Wrath of Khan

Reeves

Page 48: Rumination on illumination (computer graphics)

Example: Wrath of Khan

Reeves

Page 49: Rumination on illumination (computer graphics)

Example: Wrath of Khan

Reeves

Page 50: Rumination on illumination (computer graphics)

Advances in simulation

Contact(Fedkiw)

Fluids(Fedkiw)

Page 51: Rumination on illumination (computer graphics)