x ~ Hemispheric Lighting

Size: px
Start display at page:

Download "x ~ Hemispheric Lighting"

Transcription

1 Irradiance and Incoming Radiance Imagine a sensor which is a small, flat plane centered at a point ~ x in space and oriented so that its normal points in the direction n. This sensor can compute the total light energy received per unit time in watts. n x ~ After dividing by the area of the sensor, we can say that the energy flux that the sensor receives per unit area is the irradiance level E n (x ~ ). This irradiance level can be explained by making reference to the incoming radiance L(w, x ~ ), which is a measure of the light energy arriving at point x ~ from direction w. By integrating this incoming radiance over the entire hemisphere H n centered in direction n at x ~ we can compute the irradiance level E n (x ~ ): E n (x ~ ) = L(w, ~ x ) w n d w Hn The w n term models the usual "cosine of the angle between the normal and the light direction vector" term that we are used to seeing in diffuse lighting calculations. In computer graphics, we are mostly interested in the light reflected from the surface, since that light is what we see when we look at the surface. To a first approximation, we can assume that the incoming energy E n (x ~ ) gets multiplied by a reflectivity term ρ(x ~ ) and then gets reflected equally in all directions throughout the upper hemisphere H n to make an outgoing radiance term L(x ~, v ), where v is the view direction from the surface toward the viewer. Hemispheric Lighting One of the simplest incoming radiance functions models an outdoor scene as a sky color for all directions ω in the upper half-sphere of directions and a ground color for all directions ω in the lower half-sphere of directions. This L(w, ~ x ) is independent of the position ~ x.

2 θ I will not present a derivation here, but the result of this hemispherical illumination is an irradiance term where E n (x ~ ) = Hn L(w, x ~ ) w n d w = a Sky_Color + ( - a) Ground_Color - sin θ θ / a = sin θ θ > / Here θ is the angle between the normal n and the vector that points up vertically. This simple irradiance model produces reasonable results when rendering outdoor scenes, and can be combined with a traditional diffuse lighting calculation that models lighting from a point source "sun" at some specific location in the sky. Environment Mapping A technique that is occasionally used in computer graphics for various applications is environment mapping. In this technique we imagine that some object is contained inside an imaginary cube. Imagine further that we could stand in the center of that cube and make six snapshots of the scene by looking out at the scene through the center of each of the six faces in turn. In one version of this technique we make textures from each of those snapshots and essemble these six face textures into a single texture that could be wrapped around the interior of the cube. Another more sophisticated version of this idea uses a sphere instead of a cube to enclose the object. We then make a single texture that shows everything we could possibly see from the center of the sphere looking outward and then paste that texture onto the interior of the sphere. This texture is known as a spherical environment map.

3 Irradiance Mapping Imagine a polygon positioned in a complex scene with many areas of light and shadow. Suppose also that we could reduce everything that we could see from some point on the surface of the polygon to a spherical environment map positioned over that point. Just as above, we could model the illumination at that point on the surface by E n (x ~ ) = L(w, ~ x ) w n d w Hn The only difference this time around is that L(w, x ~ ) will be a complicated function that captures all the various light and dark colors we would see if we were to look out into the surrounding scene in the direction w from the point x ~. One simplifying assumption we can make is that the object we are trying to illuminate is small relative to the objects that surround it in the scene. In that case, to a first approximation L(w, x ~ ) is independent of x ~ : E n = L(w ) w n d w Hn An important optimization we can apply at this point is to precompute values for E n and place them in a special kind of environment map, called an irradiance map. By using this irradiance map to lookup diffuse illumination values and using the environment map to compute specular terms, we can produce a high quality lighting model. 3

4 Technical details - integrating over an environment map To compute an irradiance value from an environment map we have to compute an integral. E n = Hn L(w ) w n d w = S L(ω) M(n ω) d ω For simplicity here I have replaced the integral over the hemisphere H n with the integral over the entire sphere S, and at the same time replaced the dot product w n with a term M(w n), where M(x) is a function that evaluates to x when x is positive and to when x is negative. To emphasize the fact that we are integrating over a sphere, I have also replaced the direction vectors w with angles ω. The term L(ω) is a color value sampled from an environment map. In practice, most environment maps are actually cube maps made up of discrete texture pixels (texels). In that case, the integral over all directions in an environment map can be replaced by a sum over all texels in the six faces of a cube map. E n = L i M(n ω ) i dω i i Here L is the color of texel i, ω is the direction to that texel in the cube map, and dω is the solid angle subtended by that texel. 4

5 If we treat one of the faces of the cube map as a texture, we would access the texels via texture coordinates s and t. Since we are treating the texture as the face of a cube centered at the origin, we can replace texture coordinates with a more convenient coordinate system in x and y: (x = -, y = ) (s =, t = ) (x =, y = ) (s =, t = ) (x =, y = -) To transform coordinate systems, we would do x y = - - s t In the x, y coordinate system it is easy to compute the direction vector. All we have to do is to normalize the vector ( x i, y i, ) and it becomes a direction vector ω. i Computing the solid angle dω i subtended by a particular texel is a little more involved. Texels near the center of the texture subtend a somewhat larger angle, while texels near the corner take up a smaller solid angle when we map the cube texture onto a sphere. Here is a reference that explains how to compute the solid angle correctly from the positions x i and y. i Using a shader to compute E n Computing E n as described above is a very compute intensive operation, because we have to compute the integral over the cube map for each new direction vector n that we want to work with. At the same time, the details for different values of n are highly repetitive. This suggests that we should enlist the aid of shaders to compute this mapping for us. Here is the outline of a strategy that makes it possible to do this.. Use OpenGL to render a two dimensional square centered at the origin with sides of length. This square represents one of the sides of our cubical irradiance map. Given the mapping above we can map any point ( x, y ) on the square to a direction vector n. 5

6 . We render the square to a framebuffer with dimensions size by size pixels, where size is the desired size of our irradiance cube map texture. 3. In the fragment shader, we translate the interpolated fragment positions we are given into direction vectors n and construct loops that sum over the six faces of the environment map: E n = L i M(n ω ) i dω i i 4. When rendering is done, we convert the image in the frame buffer to a texture for use by our irradiance cube map. Here is a reference that shows how to render an image to a texture. Environment maps versus irradiance maps Here are some pictures that illustrate how enviroment maps relate to irradiance maps. The first image below is a typical cubical environment map. 6

7 7

8 Here is that same environment map mapped onto a sphere. Next we have the irradiance map derived from this environment map: Irradiance Mapping with Spherical Harmonics In, Ramamoorthi and Hanrahan published a paper describing a much more efficient technique for computing irradiance maps. In this paper they used spherical harmonics to decompose the terms L(ω) and M(n ω) in the irradiance integral E n = L(ω) M(n ω) d ω and subsequently greatly reduced the amount of time needed to compute an irradiance map. Their technique is based on the use of spherical harmonics. Since we have not encounted this concept before, some basic background is in order. The spherical harmonic functions Y l,m (θ,φ) are a set of orthogonal functions defined on the unit sphere. These functions are defined in terms of the complex valued spherical harmonics 8

9 Y l m (θ,φ) = N e i m φ P l m (cos θ) where P l m (x) is the m th Legendre polynomial of order l and N is a normalization factor that depends on l and m. The functions Y l m (θ,φ) arise in the solution of the polar form of the Laplace equation. In terms of the complex-valued spherical harmonics. the real-valued spherical harmonics are given by m m -m ( Y l + (-) Yl ) m > Y l,m = Y l m = m m -m (Y l - (-) Yl ) m < i Because the spherical harmonic functions are orthonormal on the unit sphere, any function defined on the unit sphere can be described as a linear combination of spherical harmonics: f(θ,φ) = l l = m = -l f l,m Y l,m (θ,φ) the coefficients f l,m are computed by integrating the target function against the spherical harmonics: f l,m = f(θ,φ) Y l,m (θ,φ) sin θ d θ d φ In the Ramamoorthi and Hanrahan paper the key insight was that that the integral we need to compute is in the form of a convolution E n = L(ω) M(n ω) d ω E n = L(ω) f(n, ω) d ω This is a useful observation, because convolutions map to products when we transform to the space of spherical harmonic coefficients. Most importantly, if the function product is particularly simple and straightforward. f(n, ω) is rotationally symmetric the mapping to a Ramamoorthi and Hanrahan determined that I(n) can be computed more easily by computing the coefficients of L and M with respect to the spherical harmonics and then forming E l,m = 4 M l, L l,m l + where M l, = L l,m = / cos θ Y l, (θ,φ) sin θ d θ d φ L(θ,φ) Y l,m (θ,φ) sin θ d θ d φ 9

10 This result is useful because the coefficients M l, and the term L, and can be precomputed: 4 / l + are independent of the illumination A l = 3 4 M l, = l + (-) l/ - (l + )(l - ) l! l l! ( ) l = l odd and > l even More simply, the first few terms are A = A = 3 A = 4 Once we have computed the coefficients E l,m we can recover the function E n via an inverse transform: E n = l l = m = -l E l,m Y l,m (n) Ramamoorthi and Hanrahan pointed out that although the sum above is an infinite sum, we can compute E n accurate to about % by using only the terms up through and including l =. In practice this means that we only have to compute 9 E l,m terms: E, = A L, = L, E,m = A L,m = L,m for m = -,, 3 E,m = A L,m = 4 L,m for m = -, -,,, Practical summary of the method To compute our estimate E n for any normal vector n we compute E n = l l = m = -l E l,m Y l,m (n) E l,m = A l L l,m Since the A l are precomputed and fixed, we only have to compute the L l,m terms:

11 L l,m = L(θ,φ) Y l,m (θ,φ) sin θ d θ d φ Since the L l,m terms are independent of the normal direction n we can precompute these terms from the environment map ahead of time. This will allow us to precompute the E l,m terms ahead of time, pass them down to a fragment shader, and compute E n very quickly and efficiently when we need it in the fragment shader. (In fact, since E n values typically do not vary all that much across a typical polygon, we can compute E n values in a vertex shader and use interpolation for the fragment shader.) Since the values L(θ,φ) are in practice computed by doing lookups in an environment map, once again it makes the most sense to reduce the L l,m integral to a sum over texels in the environment map: L l,m = L i Y l,m (ω ) i dω i i To compute these sums in OpenGL we will need to fetch the pixels in the 6 textures that make up the environment map. Recall that in an earlier step we computed these textures by rendering views of the scene into a framebuffer. As we are doing this step, we can fetch the data in the frame buffer and dump that data into an array array of 3*width*height floats in OpenGL via the functionglreadpixels: glreadpixels(,,width,height,gl_rgb,gl_float,array); A convenient way to handle the spherical harmonic terms is to represent them in terms of rectangular coordinates x, y, and z. If ( x, y, z ) is a point on the unit sphere, the spherical harmonics of interest are Y, (x,y,z) = Y,- (x,y,z) = Y, (x,y,z) = Y, (x,y,z) = Y,- (x,y,z) = Y,- (x,y,z) = 3 y 4 3 z 4 3 x 4 5 x y 5 y z Y, (x,y,z) = 4 Y, (x,y,z) = 5 (3 z - ) 5 x z

12 Y, (x,y,z) = 4 5 ( x - y ) It is important to note that as we read pixels from the environment map, those pixels will correspond to locations ( x, y, z ) that are not on the unit sphere. Those pixel coordinates will need to be normalized to points on the unit sphere before using the formulas above.

Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary

Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary Summary Ambien Occlusion Kadi Bouatouch IRISA Email: kadi@irisa.fr 1. Lighting 2. Definition 3. Computing the ambient occlusion 4. Ambient occlusion fields 5. Dynamic ambient occlusion 1 2 Lighting: Ambient

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading CENG 477 Introduction to Computer Graphics Ray Tracing: Shading Last Week Until now we learned: How to create the primary rays from the given camera and image plane parameters How to intersect these rays

More information

Precomputed Radiance Transfer: Theory and Practice

Precomputed Radiance Transfer: Theory and Practice 1 Precomputed Radiance Transfer: Peter-Pike Sloan Microsoft Jaakko Lehtinen Helsinki Univ. of Techn. & Remedy Entertainment Jan Kautz MIT 2 Introduction Jan Kautz MIT 3 Introduction We see here an example

More information

Illumination Under Trees. Nelson Max University of Tokyo, and University of California, Davis

Illumination Under Trees. Nelson Max University of Tokyo, and University of California, Davis Illumination Under Trees Nelson Max University of Tokyo, and University of California, Davis Topics Hierarchical image based rendering for trees Atmospheric illumination and shadows Shadow penumbras with

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading

More information

COMP environment mapping Mar. 12, r = 2n(n v) v

COMP environment mapping Mar. 12, r = 2n(n v) v Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,

More information

Homework 3: Programmable Shaders

Homework 3: Programmable Shaders Homework 3: Programmable Shaders Introduction to Computer Graphics and Imaging (Summer 2012), Stanford University Due Monday, July 23, 11:59pm Warning: The coding portion of this homework involves features

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Shading Models. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Shading Models. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 10: Shading Models Welcome! Today s Agenda: Introduction Light Transport Materials Sensors Shading INFOGR Lecture 10 Shading Models 3 Introduction

More information

Real-Time Image Based Lighting in Software Using HDR Panoramas

Real-Time Image Based Lighting in Software Using HDR Panoramas Real-Time Image Based Lighting in Software Using HDR Panoramas Jonas Unger, Magnus Wrenninge, Filip Wänström and Mark Ollila Norrköping Visualization and Interaction Studio Linköping University, Sweden

More information

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014 ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating

More information

Other approaches to obtaining 3D structure

Other approaches to obtaining 3D structure Other approaches to obtaining 3D structure Active stereo with structured light Project structured light patterns onto the object simplifies the correspondence problem Allows us to use only one camera camera

More information

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller Global Illumination CMPT 361 Introduction to Computer Graphics Torsten Möller Reading Foley, van Dam (better): Chapter 16.7-13 Angel: Chapter 5.11, 11.1-11.5 2 Limitation of local illumination A concrete

More information

Computer Graphics and GPGPU Programming

Computer Graphics and GPGPU Programming Computer Graphics and GPGPU Programming Donato D Ambrosio Department of Mathematics and Computer Science and Center of Excellence for High Performace Computing Cubo 22B, University of Calabria, Rende 87036,

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures 3 Texture mapping Glue textures (images)

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred Rendering Due: Wednesday November 15 at 10pm CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

More information

Radiance. Radiance properties. Radiance properties. Computer Graphics (Fall 2008)

Radiance. Radiance properties. Radiance properties. Computer Graphics (Fall 2008) Computer Graphics (Fall 2008) COMS 4160, Lecture 19: Illumination and Shading 2 http://www.cs.columbia.edu/~cs4160 Radiance Power per unit projected area perpendicular to the ray per unit solid angle in

More information

Lecture 7 - Path Tracing

Lecture 7 - Path Tracing INFOMAGR Advanced Graphics Jacco Bikker - November 2016 - February 2017 Lecture 7 - I x, x = g(x, x ) ε x, x + S ρ x, x, x I x, x dx Welcome! Today s Agenda: Introduction Advanced Graphics 3 Introduction

More information

COMP 558 lecture 16 Nov. 8, 2010

COMP 558 lecture 16 Nov. 8, 2010 Shading The term shading typically refers to variations in irradiance along a smooth Lambertian surface. Recall that if a surface point is illuminated by parallel light source from direction l, then the

More information

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley Spring 2012 Final CS184 - Foundations of Computer Graphics University of California at Berkeley Write your name HERE: Write your login HERE: Closed book. You may not use any notes or printed/electronic

More information

Spectral Color and Radiometry

Spectral Color and Radiometry Spectral Color and Radiometry Louis Feng April 13, 2004 April 13, 2004 Realistic Image Synthesis (Spring 2004) 1 Topics Spectral Color Light and Color Spectrum Spectral Power Distribution Spectral Color

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information

Overview. Radiometry and Photometry. Foundations of Computer Graphics (Spring 2012)

Overview. Radiometry and Photometry. Foundations of Computer Graphics (Spring 2012) Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 21: Radiometry http://inst.eecs.berkeley.edu/~cs184 Overview Lighting and shading key in computer graphics HW 2 etc. ad-hoc shading models,

More information

CS 563 Advanced Topics in Computer Graphics Spherical Harmonic Lighting by Mark Vessella. Courtesy of

CS 563 Advanced Topics in Computer Graphics Spherical Harmonic Lighting by Mark Vessella. Courtesy of CS 563 Advanced Topics in Computer Graphics Spherical Harmonic Lighting by Mark Vessella Courtesy of http://www.yasrt.org/shlighting/ Outline for the Night Introduction to Spherical Harmonic Lighting Description

More information

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural 1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that

More information

Advanced Lighting Techniques Due: Monday November 2 at 10pm

Advanced Lighting Techniques Due: Monday November 2 at 10pm CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part

More information

Illumination. Illumination CMSC 435/634

Illumination. Illumination CMSC 435/634 Illumination CMSC 435/634 Illumination Interpolation Illumination Illumination Interpolation Illumination Illumination Effect of light on objects Mostly look just at intensity Apply to each color channel

More information

The Light Field. Last lecture: Radiometry and photometry

The Light Field. Last lecture: Radiometry and photometry The Light Field Last lecture: Radiometry and photometry This lecture: Light field = radiance function on rays Conservation of radiance Measurement equation Throughput and counting rays Irradiance calculations

More information

Photometric Stereo. Lighting and Photometric Stereo. Computer Vision I. Last lecture in a nutshell BRDF. CSE252A Lecture 7

Photometric Stereo. Lighting and Photometric Stereo. Computer Vision I. Last lecture in a nutshell BRDF. CSE252A Lecture 7 Lighting and Photometric Stereo Photometric Stereo HW will be on web later today CSE5A Lecture 7 Radiometry of thin lenses δa Last lecture in a nutshell δa δa'cosα δacos β δω = = ( z' / cosα ) ( z / cosα

More information

Homework #2. Shading, Ray Tracing, and Texture Mapping

Homework #2. Shading, Ray Tracing, and Texture Mapping Computer Graphics Prof. Brian Curless CSE 457 Spring 2000 Homework #2 Shading, Ray Tracing, and Texture Mapping Prepared by: Doug Johnson, Maya Widyasari, and Brian Curless Assigned: Monday, May 8, 2000

More information

Introduction to Radiosity

Introduction to Radiosity Introduction to Radiosity Produce photorealistic pictures using global illumination Mathematical basis from the theory of heat transfer Enables color bleeding Provides view independent representation Unfortunately,

More information

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik Computergrafik Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures Matthias Zwicker Universität Bern Herbst 2009 Texture mapping Glue textures (images) onto

More information

Lighting and Materials

Lighting and Materials http://graphics.ucsd.edu/~henrik/images/global.html Lighting and Materials Introduction The goal of any graphics rendering app is to simulate light Trying to convince the viewer they are seeing the real

More information

Precomputed Radiance Transfer with Spatially-Varying Lighting Effects

Precomputed Radiance Transfer with Spatially-Varying Lighting Effects Precomputed Radiance Transfer with Spatially-Varying Lighting Effects Masahiro Fujita Keio University SFC Graduate School of Media and Governance syoyo@sfc.keio.ac.jp Takashi Kanai Keio University SFC

More information

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

Spherical Harmonic Lighting: The Gritty Details Robin Green

Spherical Harmonic Lighting: The Gritty Details Robin Green Spherical Harmonic Lighting: The Gritty Details Robin Green R&D Programmer Sony Computer Entertainment America What This Talk Is About Advanced Lecture Explicit equations will be shown This talk is one

More information

Computer Graphics. Illumination and Shading

Computer Graphics. Illumination and Shading () Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic

More information

BioTechnology. An Indian Journal FULL PAPER. Trade Science Inc. A wavelet based real-time rendering technology for indoor mixed reality ABSTRACT

BioTechnology. An Indian Journal FULL PAPER. Trade Science Inc. A wavelet based real-time rendering technology for indoor mixed reality ABSTRACT [Type text] [Type text] [Type text] ISSN : 0974-7435 Volume 10 Issue 24 2014 BioTechnology An Indian Journal FULL PAPER BTAIJ, 10(24), 2014 [15095-15100] A wavelet based real-time rendering technology

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

From Graphics to Visualization

From Graphics to Visualization From Graphics to Visualization Introduction Light Sources Surface Lighting Effects Basic (Local ) Illumination Models Polgon-Rendering Methods Texture Mapping Transparenc and Blending Visualization Pipeline

More information

Introduction to Computer Graphics 7. Shading

Introduction to Computer Graphics 7. Shading Introduction to Computer Graphics 7. Shading National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive

More information

Engineered Diffusers Intensity vs Irradiance

Engineered Diffusers Intensity vs Irradiance Engineered Diffusers Intensity vs Irradiance Engineered Diffusers are specified by their divergence angle and intensity profile. The divergence angle usually is given as the width of the intensity distribution

More information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping

More information

Announcement. Lighting and Photometric Stereo. Computer Vision I. Surface Reflectance Models. Lambertian (Diffuse) Surface.

Announcement. Lighting and Photometric Stereo. Computer Vision I. Surface Reflectance Models. Lambertian (Diffuse) Surface. Lighting and Photometric Stereo CSE252A Lecture 7 Announcement Read Chapter 2 of Forsyth & Ponce Might find section 12.1.3 of Forsyth & Ponce useful. HW Problem Emitted radiance in direction f r for incident

More information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping

More information

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker CMSC427 Shading Intro Credit: slides from Dr. Zwicker 2 Today Shading Introduction Radiometry & BRDFs Local shading models Light sources Shading strategies Shading Compute interaction of light with surfaces

More information

Lighting affects appearance

Lighting affects appearance Lighting affects appearance 1 Image Normalization Global Histogram Equalization. Make two images have same histogram. Or, pick a standard histogram, and make adjust each image to have that histogram. Apply

More information

Skylight to enhance outdoor scenes Real-Time Graphics. The atmosphere. Rayleigh scattering. Jeppe Revall Frisvad.

Skylight to enhance outdoor scenes Real-Time Graphics. The atmosphere. Rayleigh scattering. Jeppe Revall Frisvad. Skylight to enhance outdoor scenes 02564 Real-Time Graphics Skylight and irradiance environment maps Jeppe Revall Frisvad March 2016 Esplanade, Saint Clair, Dunedin, New ealand: -45.9121, 170.4893 The

More information

Shading and Illumination

Shading and Illumination Shading and Illumination OpenGL Shading Without Shading With Shading Physics Bidirectional Reflectance Distribution Function (BRDF) f r (ω i,ω ) = dl(ω ) L(ω i )cosθ i dω i = dl(ω ) L(ω i )( ω i n)dω

More information

Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective

More information

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops. OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment

More information

13 Distribution Ray Tracing

13 Distribution Ray Tracing 13 In (hereafter abbreviated as DRT ), our goal is to render a scene as accurately as possible. Whereas Basic Ray Tracing computed a very crude approximation to radiance at a point, in DRT we will attempt

More information

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz Outline Jan Kautz Basic terms in radiometry Radiance Reflectance The operator form of the radiance equation Meaning of the operator form Approximations to the radiance equation 2005 Mel Slater, 2006 Céline

More information

Rays and Throughput. The Light Field. Page 1

Rays and Throughput. The Light Field. Page 1 Page 1 The Light Field Rays and throughput Form factors Light field representations Hemispherical illumination Illumination from uniform area light sources Shadows: Blockers, umbras and penumbras Radiosity

More information

6. Illumination, Lighting

6. Illumination, Lighting Jorg s Graphics Lecture Notes 6. Illumination, Lighting 1 6. Illumination, Lighting No ray tracing in OpenGL! ray tracing: direct paths COP interreflection: soft shadows, color bleeding. umbra, penumbra,

More information

Rasterization Overview

Rasterization Overview Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

More information

Spherical Harmonics, Precomputed Radiance Transfer and Realtime Radiosity in Computer Games

Spherical Harmonics, Precomputed Radiance Transfer and Realtime Radiosity in Computer Games Spherical Harmonics, Precomputed Radiance Transfer and Realtime Radiosity in Computer Games Manne Öhrström August 25, 2003 Supervisors: Dr. Alberto Aguado, Electronic Arts UK Studio, London Dr. Fredrik

More information

And if that 120MP Camera was cool

And if that 120MP Camera was cool Reflectance, Lights and on to photometric stereo CSE 252A Lecture 7 And if that 120MP Camera was cool Large Synoptic Survey Telescope 3.2Gigapixel camera 189 CCD s, each with 16 megapixels Pixels are 10µm

More information

Computer Graphics Lecture 11

Computer Graphics Lecture 11 1 / 14 Computer Graphics Lecture 11 Dr. Marc Eduard Frîncu West University of Timisoara May 15th 2012 2 / 14 Outline 1 Introduction 2 Transparency 3 Reflection 4 Recap 3 / 14 Introduction light = local

More information

Efficient Irradiance Normal Mapping

Efficient Irradiance Normal Mapping Efficient Irradiance Normal Mapping Ralf Habel and Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology, Austria Figure : A typical game scene using standard light

More information

Announcements. Lighting. Camera s sensor. HW1 has been posted See links on web page for readings on color. Intro Computer Vision.

Announcements. Lighting. Camera s sensor. HW1 has been posted See links on web page for readings on color. Intro Computer Vision. Announcements HW1 has been posted See links on web page for readings on color. Introduction to Computer Vision CSE 152 Lecture 6 Deviations from the lens model Deviations from this ideal are aberrations

More information

Global Illumination and the Rendering Equation

Global Illumination and the Rendering Equation CS294-13: Special Topics Lecture #3 Advanced Computer Graphics University of California, Berkeley Handout Date??? Global Illumination and the Rendering Equation Lecture #3: Wednesday, 9 September 2009

More information

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY 1(84) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(84) Lecture 5 3D graphics part 3 Illumination Illumination applied: Shading Surface detail: Mappings

More information

Comp 410/510 Computer Graphics. Spring Shading

Comp 410/510 Computer Graphics. Spring Shading Comp 410/510 Computer Graphics Spring 2017 Shading Why we need shading Suppose we build a model of a sphere using many polygons and then color it using a fixed color. We get something like But we rather

More information

Synthesis of Textures with Intricate Geometries using BTF and Large Number of Textured Micropolygons. Abstract. 2. Related studies. 1.

Synthesis of Textures with Intricate Geometries using BTF and Large Number of Textured Micropolygons. Abstract. 2. Related studies. 1. Synthesis of Textures with Intricate Geometries using BTF and Large Number of Textured Micropolygons sub047 Abstract BTF has been studied extensively and much progress has been done for measurements, compression

More information

Illumination. Courtesy of Adam Finkelstein, Princeton University

Illumination. Courtesy of Adam Finkelstein, Princeton University llumination Courtesy of Adam Finkelstein, Princeton University Ray Casting mage RayCast(Camera camera, Scene scene, int width, int height) { mage image = new mage(width, height); for (int i = 0; i < width;

More information

Objectives. Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading.

Objectives. Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading. Shading II 1 Objectives Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading Flat Smooth Gouraud 2 Phong Lighting Model A simple model

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

More information

dq dt I = Irradiance or Light Intensity is Flux Φ per area A (W/m 2 ) Φ =

dq dt I = Irradiance or Light Intensity is Flux Φ per area A (W/m 2 ) Φ = Radiometry (From Intro to Optics, Pedrotti -4) Radiometry is measurement of Emag radiation (light) Consider a small spherical source Total energy radiating from the body over some time is Q total Radiant

More information

Capturing light. Source: A. Efros

Capturing light. Source: A. Efros Capturing light Source: A. Efros Review Pinhole projection models What are vanishing points and vanishing lines? What is orthographic projection? How can we approximate orthographic projection? Lenses

More information

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading

More information

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global

More information

CPSC / Texture Mapping

CPSC / Texture Mapping CPSC 599.64 / 601.64 Introduction and Motivation so far: detail through polygons & materials example: brick wall problem: many polygons & materials needed for detailed structures inefficient for memory

More information

Introduction to 3D Concepts

Introduction to 3D Concepts PART I Introduction to 3D Concepts Chapter 1 Scene... 3 Chapter 2 Rendering: OpenGL (OGL) and Adobe Ray Tracer (ART)...19 1 CHAPTER 1 Scene s0010 1.1. The 3D Scene p0010 A typical 3D scene has several

More information

CS452/552; EE465/505. Intro to Lighting

CS452/552; EE465/505. Intro to Lighting CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections

More information

Shading. Why we need shading. Scattering. Shading. Objectives

Shading. Why we need shading. Scattering. Shading. Objectives Shading Why we need shading Objectives Learn to shade objects so their images appear three-dimensional Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something

More information

CPSC 314 LIGHTING AND SHADING

CPSC 314 LIGHTING AND SHADING CPSC 314 LIGHTING AND SHADING UGRAD.CS.UBC.CA/~CS314 slide credits: Mikhail Bessmeltsev et al 1 THE RENDERING PIPELINE Vertices and attributes Vertex Shader Modelview transform Per-vertex attributes Vertex

More information

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading. Mach band effect The Mach band effect increases the visual unpleasant representation of curved surface using flat shading. A B 320322: Graphics and Visualization 456 Mach band effect The Mach band effect

More information

Reflection models and radiometry Advanced Graphics

Reflection models and radiometry Advanced Graphics Reflection models and radiometry Advanced Graphics Rafał Mantiuk Computer Laboratory, University of Cambridge Applications To render realistic looking materials Applications also in computer vision, optical

More information

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30

More information

Spherical Harmonic Gradients for Mid-Range Illumination

Spherical Harmonic Gradients for Mid-Range Illumination Eurographics Symposium on Rendering (2004) H. W. Jensen, A. Keller (Editors) Spherical Harmonic Gradients for Mid-Range Illumination Thomas Annen 1 Jan Kautz 2 Frédo Durand 2 Hans-Peter Seidel 1 1 MPI

More information

lecture 18 - ray tracing - environment mapping - refraction

lecture 18 - ray tracing - environment mapping - refraction lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the

More information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction The central problem in computer graphics is creating, or rendering, realistic computergenerated images that are indistinguishable from real photographs, a goal referred to as photorealism.

More information

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing Lecture 11 Ray tracing Introduction Projection vs. ray tracing Projection Ray tracing Rendering Projection vs. ray tracing Projection Ray tracing Basic methods for image generation Major areas of computer

More information

Shaders. Oscar. 1/43 Apodaca and Gritz, Advanced RenderMan

Shaders. Oscar. 1/43 Apodaca and Gritz, Advanced RenderMan Shaders Oscar 1/43 Apodaca and Gritz, Advanced RenderMan Pixel Color Irradiance measures the power per unit area hitting a pixel E = න L i cos θ i dω i (obtained by integrating an equation form last class)

More information

CS5620 Intro to Computer Graphics

CS5620 Intro to Computer Graphics So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading

More information

Illumination and Shading

Illumination and Shading Illumination and Shading Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/14/07 1 From last time Texture mapping overview notation wrapping Perspective-correct interpolation Texture

More information

Visualisatie BMT. Rendering. Arjan Kok

Visualisatie BMT. Rendering. Arjan Kok Visualisatie BMT Rendering Arjan Kok a.j.f.kok@tue.nl 1 Lecture overview Color Rendering Illumination 2 Visualization pipeline Raw Data Data Enrichment/Enhancement Derived Data Visualization Mapping Abstract

More information

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except

More information

Assignment 3: Path tracing

Assignment 3: Path tracing Assignment 3: Path tracing EDAN30 April 2, 2011 In this assignment you will be asked to extend your ray tracer to support path tracing. In order to pass the assignment you need to complete all tasks. Make

More information

Illumination & Shading: Part 1

Illumination & Shading: Part 1 Illumination & Shading: Part 1 Light Sources Empirical Illumination Shading Local vs Global Illumination Lecture 10 Comp 236 Spring 2005 Computer Graphics Jargon: Illumination Models Illumination - the

More information

Computer Graphics. Illumination Models and Surface-Rendering Methods. Somsak Walairacht, Computer Engineering, KMITL

Computer Graphics. Illumination Models and Surface-Rendering Methods. Somsak Walairacht, Computer Engineering, KMITL Computer Graphics Chapter 10 llumination Models and Surface-Rendering Methods Somsak Walairacht, Computer Engineering, KMTL Outline Light Sources Surface Lighting Effects Basic llumination Models Polygon

More information

Re-rendering from a Dense/Sparse Set of Images

Re-rendering from a Dense/Sparse Set of Images Re-rendering from a Dense/Sparse Set of Images Ko Nishino Institute of Industrial Science The Univ. of Tokyo (Japan Science and Technology) kon@cvl.iis.u-tokyo.ac.jp Virtual/Augmented/Mixed Reality Three

More information

CS : Assignment 2 Real-Time / Image-Based Rendering

CS : Assignment 2 Real-Time / Image-Based Rendering CS 294-13: Assignment 2 Real-Time / Image-Based Rendering Ravi Ramamoorthi 1 Introduction In this assignment, you will implement some of the modern techniques for real-time and/or image-based rendering.

More information

RASTERISED RENDERING

RASTERISED RENDERING DH2323 DGI16 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION RASTERISED RENDERING Christopher Peters HPCViz, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More information

CS184 LECTURE RADIOMETRY. Kevin Wu November 10, Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra

CS184 LECTURE RADIOMETRY. Kevin Wu November 10, Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra CS184 LECTURE RADIOMETRY Kevin Wu November 10, 2014 Material HEAVILY adapted from James O'Brien, Brandon Wang, Fu-Chung Huang, and Aayush Dawra ADMINISTRATIVE STUFF Project! TODAY Radiometry (Abridged):

More information

Illumination Models & Shading

Illumination Models & Shading Illumination Models & Shading Lighting vs. Shading Lighting Interaction between materials and light sources Physics Shading Determining the color of a pixel Computer Graphics ZBuffer(Scene) PutColor(x,y,Col(P));

More information

Shading 1: basics Christian Miller CS Fall 2011

Shading 1: basics Christian Miller CS Fall 2011 Shading 1: basics Christian Miller CS 354 - Fall 2011 Picking colors Shading is finding the right color for a pixel This color depends on several factors: The material of the surface itself The color and

More information