computer graphics - shading - hanyang university jong-il park

41
Computer Graphics Computer Graphics - Shading - - Shading - Hanyang University Jong-Il Park

Upload: victoria-rees

Post on 26-Mar-2015

240 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Computer Graphics - Shading - Hanyang University Jong-Il Park

Computer GraphicsComputer Graphics- Shading -- Shading -

Hanyang University

Jong-Il Park

Page 2: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

ObjectivesObjectives

Learn to shade objects so their images appear three-dimensional

Introduce the types of light-material interactions Build a simple reflection model---the Phong model---

that can be used with real time graphics hardware Introduce modified Phong model Consider computation of required vectors

Page 3: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Why we need shadingWhy we need shading

Suppose we build a model of a sphere using many polygons and color it with glColor. We get something like

But we want

Page 4: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

ShadingShading Why does the image of a real sphere look like

Light-material interactions cause each point to have a different color or shade

Need to consider Light sources Material properties Location of viewer Surface orientation

Page 5: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Rendering: 1960s (visibility)Rendering: 1960s (visibility)

Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface Sutherland (1974) - visibility = sorting

Images from FvDFH, Pixar’s ShutterbugSlide ideas for history of Rendering courtesy Marc Levoy

Page 6: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

1970s - raster graphics Gouraud (1971) - diffuse lighting, Phong (1974) - specular lighting Blinn (1974) - curved surfaces, texture Catmull (1974) - Z-buffer hidden-surface algorithm

Rendering: 1970s (lighting)Rendering: 1970s (lighting)

Page 7: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Rendering (1980s, 90s: Global Illumination)Rendering (1980s, 90s: Global Illumination)

early 1980s - global illumination Whitted (1980) - ray tracing Goral, Torrance et al. (1984) radiosity Kajiya (1986) - the rendering equation

Page 8: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Scattering Scattering Light strikes A

Some scattered Some absorbed

Some of scattered light strikes B Some scattered Some absorbed

Some of this scattered light strikes Aand so on

Page 9: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Rendering EquationRendering Equation

The infinite scattering and absorption of light can be described by the rendering equation Cannot be solved in general Ray tracing is a special case for perfectly reflecting

surfaces Rendering equation is global and includes

Shadows Multiple scattering from object to object

Page 10: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Global EffectsGlobal Effects

translucent surface

shadow

multiple reflection

Page 11: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Local vs Global RenderingLocal vs Global Rendering

Correct shading requires a global calculation involving all objects and light sources Incompatible with pipeline model which shades each

polygon independently (local rendering) However, in computer graphics, especially real time

graphics, we are happy if things “look right” Exist many techniques for approximating global effects

Page 12: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Light-Material InteractionLight-Material Interaction

Light that strikes an object is partially absorbed and partially scattered (reflected)

The amount reflected determines the color and brightness of the object A surface appears red under white light because the

red component of the light is reflected and the rest is absorbed

The reflected light is scattered in a manner that depends on the smoothness and orientation of the surface

Page 13: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Light SourcesLight Sources

General light sources are difficult to work with because we must integrate light coming from all points on the source

Page 14: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Simple Light SourcesSimple Light Sources

Point source Model with position and color Distant source = infinite distance away (parallel)

Spotlight Restrict light from ideal point source

Ambient light Same amount of light everywhere in scene Can model contribution of many sources and reflecting

surfaces

Page 15: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Surface TypesSurface Types

The smoother a surface, the more reflected light is concentrated in the direction a perfect mirror would reflected the light

A very rough surface scatters light in all directions

smooth surface rough surface

Page 16: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Phong ModelPhong Model A simple model that can be computed rapidly Has three components

Diffuse Specular Ambient

Uses four vectors To source To viewer Normal Perfect reflector

Page 17: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Ideal ReflectorIdeal Reflector

Normal is determined by local orientation Angle of incidence = angle of reflection The three vectors must be coplanar

r = 2 (l · n ) n - l

Page 18: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Lambertian SurfaceLambertian Surface

Perfectly diffuse reflector Light scattered equally in all directions Amount of light reflected is proportional to the vertical

component of incoming light reflected light ~cos i

cos i = l · n if vectors normalized

There are also three coefficients, kr, kb, kg that show how much of each color component is reflected

Page 19: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Specular SurfacesSpecular Surfaces

Most surfaces are neither ideal diffusers nor perfectly specular (ideal reflectors)

Smooth surfaces show specular highlights due to incoming light being reflected in directions concentrated close to the direction of a perfect reflection

specularhighlight

Page 20: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Modeling Specular RelectionsModeling Specular Relections Phong proposed using a term that dropped off as the

angle between the viewer and the ideal reflection increased

Ir ~ ks I cos

shininess coef

absorption coef

incoming intensityreflectedintensity

Page 21: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

The Shininess CoefficientThe Shininess Coefficient

Values of between 100 and 200 correspond to metals

Values between 5 and 10 give surface that look like plastic

cos

90-90

Page 22: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Ambient LightAmbient Light

Ambient light is the result of multiple interactions between (large) light sources and the objects in the environment

Amount and color depend on both the color of the light(s) and the material properties of the object

Add ka Ia to diffuse and specular terms

reflection coef intensity of ambient light

Page 23: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Distance TermsDistance Terms The light from a point source that reaches a surface

is inversely proportional to the square of the distance between them

We can add a factor of the form 1/(a + bd +cd2) to the diffuse and specular terms

The constant and linear terms soften the effect of the point source

Page 24: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Light SourcesLight Sources

In the Phong Model, we add the results from each light source

Each light source has separate diffuse, specular, and ambient terms to allow for maximum flexibility even though this form does not have a physical justification

Separate red, green and blue components Hence, 9 coefficients for each point source

Idr, Idg, Idb, Isr, Isg, Isb, Iar, Iag, Iab

Page 25: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Material PropertiesMaterial Properties

Material properties match light source properties Nine absorption coefficients

kdr, kdg, kdb, ksr, ksg, ksb, kar, kag, kab

Shininess coefficient

Roughness

Page 26: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Adding up the ComponentsAdding up the Components

For each light source and each color component, the Phong model can be written (without the distance terms) as

I =kd Id l · n + ks Is (v · r )+ ka Ia

For each color componentwe add contributions fromall sources

Page 27: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Modified Phong ModelModified Phong Model

The specular term in the Phong model is problematic because it requires the calculation of a new reflection vector and view vector for each vertex

Blinn suggested an approximation using the halfway vector that is more efficient

Page 28: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

The Halfway VectorThe Halfway Vector

h is normalized vector halfway between l and v

h = ( l + v )/ | l + v |

Page 29: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Using the halfway vectorUsing the halfway vector

Replace (v · r )with (n · h )

is chosen to match shininess Note that halfway angle is half of angle

between r and v if vectors are coplanar Resulting model is known as the modified

Phong or Blinn lighting model Specified in OpenGL standard

Page 30: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

ExampleExample

Only differences in these teapots are the parametersin the modifiedPhong model

Page 31: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Computation of VectorsComputation of Vectors l and v are specified by the application Can compute r from l and n Problem is determining n For simple surfaces n can be determined but

how we determine n differs depending on underlying representation of surface

OpenGL leaves determination of normal to application Exception for GLU quadrics and Bezier surfaces

(Chapter 11)

Page 32: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Plane NormalsPlane Normals

Equation of plane: ax+by+cz+d = 0 From Chapter 4 we know that plane is determined by

three points p0, p2, p3 or normal n and p0

Normal can be obtained by

n = (p2-p0) × (p1-p0)

Page 33: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Normal to SphereNormal to Sphere

Implicit function f(x,y.z)=0 Normal given by gradient Sphere f(p)=p·p - 1 n = [∂f/∂x, ∂f/∂y, ∂f/∂z]T=p

Page 34: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Parametric FormParametric Form

For sphere

Tangent plane determined by vectors

Normal given by cross product

x=x(u,v)=cos u sin vy=y(u,v)=cos u cos vz= z(u,v)=sin u

∂p/∂u = [∂x/∂u, ∂y/∂u, ∂z/∂u]T

∂p/∂v = [∂x/∂v, ∂y/∂v, ∂z/∂v]T

n = ∂p/∂u × ∂p/∂v

Page 35: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

General CaseGeneral Case

We can compute parametric normals for other simple cases Quadrics Parametric polynomial surfaces

Bezier surface patches (Chapter 11)

Page 36: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Mesh ShadingMesh Shading

For polygonal models, Gouraud proposed we use the average of the normals around a mesh vertex

n = (n1+n2+n3+n4)/ |n1+n2+n3+n4|

Page 37: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Gouraud Shading – DetailsGouraud Shading – Details

Scan line

1I

2I

3I

1y

2y

3y

syaI bI

1 2 2 1

1 2

( ) ( )s sa

I y y I y yI

y y

1 3 3 1

1 3

( ) ( )s sb

I y y I y yI

y y

( ) ( )a b p b p ap

b a

I x x I x xI

x x

pI

Actual implementation efficient: difference equations while scan converting

Page 38: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Gouraud and ErrorsGouraud and Errors

I1 = 0 because (n dot v) is negative.

I2 = 0 because (n dot l) is negative.

Any interpolation of I1 and I2 will be 0.

I1 = 0 I2 = 0

area of desired highlight

lv

n1 n2

Page 39: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

2 Phongs make a Highlight2 Phongs make a Highlight

Besides the Phong Reflectance model (cosn), there is a Phong Shading model.

Phong Shading: Instead of interpolating the intensities between vertices, interpolate the normals.

The entire lighting calculation is performed for each pixel, based on the interpolated normal. (OpenGL doesn’t do this, but you can with programmable shaders)

I1 = 0 I2 = 0

Page 40: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

Gouraud vs. Phong ShadingGouraud vs. Phong Shading

Gouraud Shading Find average normal at each vertex (vertex normals) Apply modified Phong model at each vertex Interpolate vertex shades across each polygon

Phong shading Find vertex normals Interpolate vertex normals across edges Interpolate edge normals across polygon Apply modified Phong model at each fragment

Page 41: Computer Graphics - Shading - Hanyang University Jong-Il Park

            

Division of Electrical and Computer Engineering, Hanyang University

ComparisonComparison

If the polygon mesh approximates surfaces with a high curvatures, Phong shading may look smooth while Gouraud shading may show edges

Phong shading requires much more work than Gouraud shading Until recently not available in real time systems Now can be done using fragment shaders (see

Chapter 9)

Both need data structures to represent meshes so we can obtain vertex normals