Vous êtes sur la page 1sur 30

Illumination Model & Surface-rendering Method

Contents

ILLUMINATION MODELS
Ambient light, Diffuse reflection, Specular reflection Illumination in the Phong model

POLYGON-RENDERING METHODS
Flat shading
Gouraud shading Phong shading Comparision each methods

Ray Tracing Basic Algorithm Methods for getting better quality

BASIC ILLUMINATION MODELS

Ambient Light

Color does not depend on the position, only on the object I=IaKa ( Ia : ambient light intensity, Ka: ambient reflection coefficient)
Very Crude Model
Object shape is in invisible
But user nevertheless to hide other models artifacts

Ambient Light

Example

Increasing Ka

Diffuse Reflection

Light from the light source is sent in every direction Object aspect independent from viewer position Only depends on relative position of light source
I = Ip Kd cos (Ip : point light source intensity Kd : Diffuse reflection coeffcient)

Diffuse Reflection

Example

Increasing Kd ( Ka=0)

Diffuse + Ambient
Increasing ka

Increasing Kd

Specular Reflection
Light reaching the object is reflected in the direction having the same angle With point light source, effect is visible only at the one point on the surface Useful for indirect illumination (reflection and shadows)

Specular Reflection

In the Phong model Imperfect specular reflector I = IpKs(cos)n : angle between reflection and view point

Figure. Left and right Imperfect Specular reflector

Phong Model

Treats point light sources only Models three types of reflected light
Ambient + diffuse + imperfect specular reflector I = IaKa + Ip {Kdcos + Ks(cos)n}

No physical meaning model

Phong Model
Ks Increasing n

POLYGON-RENDERING METHODS

Constant-Intensity Shading

Flat Shading
A fast and simple method Assign all pixels inside each polygon same color N2 N1 Figure.

N3

V
N4

The normal vector at vertex V calculated as the average of the surface normals for each polygon sharing that vertex

Constant-Intensity Shading

Example 1) Image with flat shading

Gouraud Shading

Take the colors at the vertices Interpolate these colors across the edges and across the scan lines Typically linear interpolation
RGB 1

J
Interpolated colors RGB 2

Scan line RGB 3

Gouraud Shading

Example 2) Image with Gouraud shading and specular highlights.

Phong Shading

Take the normals at the vertices Interpolate these normals across the edges and Across the scan lines
normal 1 Interpolated nomals

Scan line normal 3

normal 2

Phong Shading

Example 3)

Image with Phong shading and specular highlights.

Comparision

Flat shading
The simplest shading method

Difference of two shading models Phong shading is more accurate way of shading a polygon since the illumination model is applied to every point More computationally intensive than the Gouraud Illumination model is applied more often Interpolated normals need to be normalized

Comparision

a) Flat shading

b) Gouraud shading

c) Phong shading

RAY TRACING METHOD

Ray Tracing
One of the shading method To create several kinds of effects

Very difficult or even impossible to do with other

methods

Include three items


Reflection Transparency Shadow

Basic Ray-Tracing Algorithm

For each pixel ray


Test each surface if it is intersected
Intersected Calculated the distance from the pixel to the surface intersection point The smallest value is visible surface for that pixel Reflection ray Secondary ray Along specular path Transparent Send a ray through the surface in the refraction direction
Figure. Ray Tracing

Basic Ray-Tracing Algorithm

Each secondary ray (reflection or refraction ray)


Repeated the same procedure Objects are tested for intersection The nearest surface along secondary ray path is used to recursively production the next generation of reflection and refraction path Ray tracing tree Each successively intersected surface is added to a binary raytracing tree

Figure. Ray Tracing

Ray-Tracing Tree

Left branch Reflection Right branch Transmission Terminated


Reach the preset maximum Strike a light source

Pixel intensity
Sum of intensities at root node Start at terminal node Background intensity If tree is empty

Figure. Ray Trace and Ray-Tracing tree

Reducing ObjectIntersection Calculation

Ray surface intersection calculation


95 percent of the processing time in a ray tracer Spent most of processing time checking objects that are

not visible along the ray path

Enclose groups of adjacent objects within a bounding volume Check larger boundary volume and ,if necessary, smaller boundary volume; and so on.

Space-Subdivision Method

The other way to reduce intersection calculation Enclose a scene within a cube Uniform subdivision (a)
Subdivided the cube into eight equal-size octants at each step

Adaptive subdivision (b)


Only subdivided cube containing objects

Example - a

Example - b

Anti-aliased Ray Tracing

Two basic techniques


Supersampling The pixel is treated as a finite square area instead of a single point

Adaptive sampling Uses unevenly spaced rays in some reason of the pixel area Ex. More rays can be used near object edges to obtains a better estimate of the pixel intensities

Intensity Function n I I E K A I AL i ( K D ( N Li ) I i K S (V Ri ) I i )
IE : Emitted Intensity KA, KD, Ks : Ambient /Diffuse /Specular reflection coefficient IAL : Ambient-light Intensity N : Unit normal vector Li : Unit direction vector to the I-th point light source from a position on the surface

Ii : the intensity of the I-th point light source


V : Unit viewing direction vector R : Specular-reflection direction vector

P14 P16

Vous aimerez peut-être aussi