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 Kd Increasing ka
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 = IpK s (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 Increasing n Ks
POLYGON-RENDERING METHODS
Constant-Intensity Shading Flat Shading – A fast and simple method – Assign all pixels inside each polygon same color V N4 N3 N2 N1 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
Gouraud Shading Take the colors at the vertices Interpolate these colors across the edges and across the scan lines Typically linear interpolation RGB 1 RGB 2 RGB 3 J K Scan line Interpolated colors
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 normal 2 normal 3 J K Scan line Interpolated nomals
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
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 Basic Ray-Tracing Algorithm Figure. Ray Tracing
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 Basic Ray-Tracing Algorithm Figure. Ray Tracing
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 Ray-Tracing Tree 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 I E : Emitted Intensity K A, K D, K s : Ambient /Diffuse /Specular reflection coefficient I AL : Ambient-light Intensity N : Unit normal vector L i : Unit direction vector to the I-th point light source from a position on the surface I i : the intensity of the I-th point light source V : Unit viewing direction vector R : Specular-reflection direction vector P14 P16