420 likes | 1.33k Views
Illumination Model & Surface-rendering Method. 2001.07.25 박 경 와. 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
E N D
Illumination Model & Surface-rendering Method 2001.07.25 박 경 와
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
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
N2 N3 N1 V N4 Constant-Intensity Shading • Flat Shading • A fast and simple method • Assign all pixels inside each polygon same color Figure. 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
RGB 1 Scan line J K Interpolated colors RGB 3 RGB 2 Gouraud Shading • Take the colors at the vertices • Interpolate these colors across the edges and across the scan lines • Typically linear interpolation
Gouraud Shading Example 2) Image with Gouraud shading and specular highlights.
normal 1 Interpolated nomals Scan line J K normal 3 normal 2 Phong Shading • Take the normals at the vertices • Interpolate these normals across the edges and Across the scan lines
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 • 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 ray- tracing 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 Object-Intersection 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 • 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