rendering 1960s visibility rendering 1960s visibility
play

Rendering: 1960s (visibility) Rendering: 1960s (visibility) Roberts - PDF document

Rendering: 1960s (visibility) Rendering: 1960s (visibility) Roberts (1963), Appel (1967) - hidden-line algorithms Computer Graphics (Fall 2008) Computer Graphics (Fall 2008) Warnock (1969), Watkins (1970) - hidden-surface Sutherland


  1. Rendering: 1960s (visibility) Rendering: 1960s (visibility) � Roberts (1963), Appel (1967) - hidden-line algorithms Computer Graphics (Fall 2008) Computer Graphics (Fall 2008) � Warnock (1969), Watkins (1970) - hidden-surface � Sutherland (1974) - visibility = sorting COMS 4160, Lecture 18: Illumination and Shading 1 http://www.cs.columbia.edu/~cs4160 Images from FvDFH, Pixar’s Shutterbug Slide ideas for history of Rendering courtesy Marc Levoy Rendering: 1970s (lighting) Rendering: 1970s (lighting) Rendering (1980s, 90s: Global Illumination) Rendering (1980s, 90s: Global Illumination) 1970s - raster graphics early 1980s - global illumination � Gouraud (1971) - diffuse lighting, Phong (1974) - specular lighting � Blinn (1974) - curved surfaces, texture � Whitted (1980) - ray tracing � Catmull (1974) - Z-buffer hidden-surface algorithm � Goral, Torrance et al. (1984) radiosity � Kajiya (1986) - the rendering equation Outline Outline Motivation Motivation � Preliminaries � Objects not flat color, perceive shape with appearance � Basic diffuse and Phong shading � Materials interact with lighting � Gouraud, Phong interpolation, smooth shading � Compute correct shading pattern based on lighting � This is not the same as shadows (separate topic) � Formal reflection equation � Some of today’s lecture review of last OpenGL lec. � Idea is to discuss illumination, shading independ. OpenGL � Today, initial hacks (1970-1980) For today’s lecture, slides and chapter 9 in textbook � Next lecture: formal notation and physics

  2. Linear Relationship of Light General Considerations Linear Relationship of Light General Considerations Surfaces have a position, and a normal at every point. � Light energy is simply sum of all contributions N 1 ∑ = I I k k (x 1 ,y 1 ,z 1 ) N 2 � Terms can be calculated separately and later added: (x 2 ,y 2 ,z 2 ) � multiple light sources � multiple interactions (diffuse, specular, more later) Other vectors used � multiple colors (R-G-B, or per wavelength) � L = vector to the light source light position minus surface point position � E = vector to the viewer (eye) viewer position minus surface point position Diffuse Lambertian Diffuse Lambertian Term Term Meaning of negative dot products Meaning of negative dot products � Rough matte (technically Lambertian) surfaces � If (N dot L) is negative, then the light is behind the surface, and cannot illuminate it. � Not shiny: matte paint, unfinished wood, paper, … � Light reflects equally in all directions � Obey Lambert’s cosine law � If (N dot E) is negative, then the viewer is looking at the � Not exactly obeyed by real materials underside of the surface and cannot see it’s front-face. N • I ∼ N L -L � In both cases, I is clamped to Zero. Phong Phong Illumination Model Illumination Model Idea of Phong Idea of Phong Illumination Illumination � Specular or glossy materials: highlights � Find a simple way to create highlights that are view- � Polished floors, glossy paint, whiteboards dependent and happen at about the right place � For plastics highlight is color of light source (not object) � Not physically based � For metals, highlight depends on surface color � Really, (blurred) reflections of light source � Use dot product (cosine) of eye and reflection of light direction about surface normal � Alternatively, dot product of half angle and normal � Raise cosine lobe to some power to control sharpness Roughness

  3. Phong Formula Formula Phong Alternative: Half Alternative: Half- -Angle ( Angle (Blinn Blinn- -Phong Phong) ) ) p ) p I ∼ ( R E i I ∼ ( N H i R H N -L E R = = − + ? R L 2( L N N i ) � In practice, both diffuse and specular components Outline Outline Triangle Meshes as Approximations Triangle Meshes as Approximations � Preliminaries � Most geometric models large collections of triangles. � Basic diffuse and Phong shading � Triangles have 3 vertices with position, color, normal � Gouraud, Phong interpolation, smooth shading � Triangles are approximation to actual object surface � Formal reflection equation Not in text. If interested, look at FvDFH pp 736-738 Vertex Shading Vertex Shading Coloring Inside the Polygon Coloring Inside the Polygon � We know how to calculate the light intensity given: � How do we shade a triangle between it’s vertices, � surface position where we aren’t given the normal? � normal � viewer position � light source position (or direction) � Inter-vertex interpolation can be done in object space (along the face), but it is simpler to do it in image space (along the screen). � 2 ways for a vertex to get its normal: � given when the vertex is defined � take normals from faces that share vertex, and average

  4. Flat vs. Gouraud Gouraud Shading Shading Gouraud Shading Shading – – Details Details Flat vs. Gouraud − + − I y ( y ) I ( y y ) I = 1 s 2 2 1 s a − y y 1 2 − + − I y ( y ) I ( y y ) I = 1 s 3 3 1 s I b − y y 1 1 3 y 1 − + − I ( x x ) I ( x x ) I = a b p b p a p − x x b a I I I Scan line a p b glShadeModel(GL_FLAT) glShadeModel(GL_SMOOTH) y s y I 2 2 Flat - Determine that each face has a single normal, and color the y I entire face a single value, based on that normal. 3 3 Gouraud – Determine the color at each vertex, using the normal Actual implementation efficient: difference at that vertex, and interpolate linearly for the pixels between equations while scan converting the vertex locations. Gouraud Gouraud and Errors and Errors 2 2 Phongs Phongs make a Highlight make a Highlight � I 1 = 0 because (N dot E) is negative. � Besides the Phong Reflectance model (cos n ), there is a Phong Shading model. � I 2 = 0 because (N dot L) is negative. � Phong Shading: Instead of interpolating the intensities between � Any interpolation of I 1 and I 2 will be 0. 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 current programmable shaders) I 1 = 0 I 2 = 0 I 1 = 0 I 2 = 0 area of desired highlight Outline Outline Problems with Interpolated Shading Problems with Interpolated Shading � Silhouettes are still polygonal � Preliminaries � Interpolation in screen, not object space: perspective distortion � Basic diffuse and Phong shading � Not rotation or orientation-independent � Gouraud, Phong interpolation, smooth shading � How to compute vertex normals for sharply curving surfaces? � Formal reflection equation � But at end of day, polygons are mostly preferred to explicitly representing curved objects like spline patches for rendering

  5. Motivation • Lots of ad-hoc tricks for shading – Kind of looks right, but? • Physics of light transport – Will lead to formal reflection equation • One of the more formal lectures – But important to solidify theoretical framework Radiance Radiance properties • Power per unit projected area perpendicular to the ray • Radiance is constant as it propagates along ray per unit solid angle in the direction of the ray – Derived from conservation of flux – Fundamental in Light Transport. Φ = ω = ω = Φ • Symbol: L(x, ω ) (W/m 2 sr) d L d dA L d dA d 1 1 1 2 2 2 1 2 ω = ω = d dA r 2 d dA r 2 • Flux given by 1 2 2 1 d Φ = L(x, ω ) cos θ d ω dA dA dA ω = = ω d dA 1 2 d dA 1 1 2 2 r 2 ∴ = L L 1 2

  6. Radiance properties Irradiance, Radiosity • Irradiance E is radiant power per unit area • Sensor response proportional to radiance • Integrate incoming radiance over hemisphere (constant of proportionality is throughput) – Projected solid angle (cos θ d ω ) – Far away surface: See more, but subtends – Uniform illumination: smaller angle Irradiance = π [CW 24,25] – Wall equally bright across viewing distances – Units: W/m 2 Consequences • Radiosity – Radiance associated with rays in a ray tracer – Power per unit area leaving – Other radiometric quants derived from radiance surface (like irradiance) Building up the BRDF • Bi-Directional Reflectance Distribution Function [Nicodemus 77] • Function based on incident, view direction • Relates incoming light energy to outgoing light energy • We have already seen special cases: Lambertian, Phong • In this lecture, we study all this abstractly

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend