D2 State of the art of Material Rendering Techniques

Size: px
Start display at page:

Download "D2 State of the art of Material Rendering Techniques"

Transcription

1 SIXTH FRAMEWORK PROGRAMME HORIZONTAL RESEARCH ACTIVITIES INVOLVING SMES CO- OPERATIVE RESEARCH Contract for: CO-OPERATIVE RESEARCH PROJECT Project acronym: CADPIPE Project full title: Cad Production Pipeline Proposal no.: Contract no.: COOP-CT D State of the art of Material Rendering Techniques Version G. Papagiannakis, H. Kim, S. Garchery, N. Magnenat- Thalmann CADPIPE

2 Version history Version Date Author(s) Reviewer Description G. Papagiannakis, S. Garchery First draft G. Papagiannakis, S. Garchery, H. Kim Release H.Kim Conclusion updated Contact information Prof. Dr. Nadia Magnenat-Thalmann Director of MIRALab / C.U.I. University of Geneva 4, rue General Dufour CH111, Geneve-4 Tel : , Fax : thalmann@miralab.unige.ch Web : End of editable fields Last modified on June, 005 Y:\Projektit\Hanki0013\CRAFT\CADPIPE\DELIVERABLES\WP1\UNIGE\D_SOA_Material rendering techniques_0605.doc COOP-CT-004-CADPIPE

3 UDK Key Words COOP-CT-004-CADPIPE i Last modified on.06.05

4 Preface This work aims to provide a general classification of real physical material properties and their simulation using 3D computer graphics algorithms. Their physical properties are analyzed as well as the general equation that describes the simulation of the reflectance of light when interacts with their surface. Finally various analytical models are illustrated that are currently employed in real-time lighting and shading of such materials. COOP-CT-004-CADPIPE ii Last modified on.06.05

5 Contents Preface... ii Contents... iii List of symbols... iv 1 Introduction... 1 Classification of Materials....1 Opaque.... Translucent Transparent Classification of Reflectance Models [Losasso05] The lighting equation The Lambertian Lighting Models The Phong Lighting Model The Cook-Torrance Lighting Model The Blinn Lighting Model The Oren-Nayar Lighting Model The Minnaert Lighting Model Wards Anisotropic Lighting Model Bidirectional Reflectance Distribution Function [Kautz04, Wynn05] Rendering techniques The rendering equation Computing the rendering equation Light Sources and Illumination... 6 Conclusion and Recommendations... 3 References to key articles... Error! Bookmark not Appendix A: Hardware GPU based Shaders (Lighting and shading programs)... 5 COOP-CT-004-CADPIPE iii Last modified on.06.05

6 List of symbols Symbol Name Explanation I Intensity The output intensity from the lighting equation. This is the final intensity of the fragment. kd Diffuse Reflection The fraction of light that is reflected through diffuse reflection ks Coefficient Specular Reflection Coefficient The fraction of light that is reflected through specular reflection (note that the diffuse and specular coefficients should add up to one) N Surface Normal Normalized direction vector that is perpendicular to the surface L Light Vector Normalized direction vector that points from the surface point to the light location E Eye Vector Normalized direction vector that points from the surface to the viewer (camera location) H Half Vector Normalized direction vector that is the average of the light and viewing vector (normalize (L+V)) R Reflection Vector Normalized vector that is in the direction of the Light Vector, rotated around the Normal Vector 180 degrees. Calculated as follows: R = ( L N) N L n Specular Exponent The specular exponent determines how sharp the specular highlight is (higher is sharper ) c Ellipsoid Eccentricity The eccentricity of the micro facets (0 for very shiny, 1 for very dull) c1,c,c3 Attenuation Coefficients The coefficients for constant, linear and quadratic attenuation of the light source, respectively. d Light Distance The distance to the light G Geometric Attenuation The attenuation factor due to self-shadowing and masking of micro facets on the surface. Calculated as follows: F Fresnel Conductance Term ( N H )( N E) ( N H )( N L) G = min 1,, E H V H Fresnel determines the amount of reflection of the surface (increases as the zenith angle becomes larger). Calculated as follows: ( g c) ( c( g + c) 1) 1 F = 1 ( ) + g + c ( c( g c) + 1) c = cos( ) = L H θ i g = n + c 1 For simplification, the Fresnel conductance term can also be a approximated by the following (much cheaper) equation: F = ( 1 ( 1 ( N E) ) ) + n( 1 ( N E ) ) 5 fatt Attenuation Term The fraction of light that reaches the surface as an effect of light attenuation. Calculated as follows: COOP-CT-004-CADPIPE iv Last modified on.06.05

7 f 1 = min(,1) att c1 + cd + c3d Note that is real life, light is attenuated with the square of the distance, but often, the heuristic (hack) above works better. COOP-CT-004-CADPIPE v Last modified on.06.05

8 1 Introduction The process of the material rendering is processing surface material properties in order to generate illuminated image. The illumination process is usually modeled as reflected lights from the surface. This discourse in real-time material rendering techniques is based on the intuitive separation of the representation of physical properties of materials and their respective reflectance models. The definitions of reflection as well as of the basic equations (BRDF, Rendering) that are employed to simulate physically correct material properties are illustrated. To limit the focus of this study, we emphasize the definition and implementation of real-time material rendering. The most amenable to real-time hardware acceleration real-time reflection models are thus presented in detail together with graphical illustrations of their results. An overview of current hardware lighting and shading techniques (as manifested through shaders) is included in the appendix. In the chapter, existing model for the surface properties are briefly introduced. In the chapter 3, various computational models for reflectance are described. In the chapter 5, as the last parameter, common lighting model is briefly illustrated. The real-time rendering techniques are described in chapter 4, algorithmic approach and in the appendix, the hardware implementation. For further information on the hardware rendering, CADPIPE deliverable D3 will cover thoroughly. VTT Information Technology 1

9 Classification of Materials First, we would like to show the different kinds of materials that exist in reality. We take a fairly practical approach, and do not classify the materials based on their exact physical properties but rather qualitatively. We then introduce the bidirectional reflectance distribution function, which describes how light is reflected from a surface. It is the most important function in order for rendering realistic materials. We will be classifying material into three large categories in order to study further their reflectance properties and how to render (light and shade) them in 3D. A common property-characteristic of all materials is the one of isotropy-anisotropy. A material is called anisotropic, if its reflection changes when the surface is rotated about the normal. Otherwise it is called isotropic..1 Opaque In Opaque materials, light does not penetrate them and it is only reflected off their surface. This includes for example stone, wood, metals, etc. Opaque materials can be either homogeneous (optical properties are constant) or heterogeneous (optical properties vary across the surface). A good example of a heterogeneous material is wood, as it exhibits a typical ring structure. There are two main types of opaque materials: dielectrics and metals. The highlight of a dielectric has the color of the light source (e.g. plastic, which consists of a white substrate with color pigments that do not contribute to a highlight), whereas metals change the color of the highlight. The reflection properties of all opaque materials can be described by a six-dimensional function, which depends on the position on the surface, the incident light direction, and the viewing direction, as described in section 3. Bidirectional Reflectance Distribution Function [Kautz04, Wynn05]. A general list of material classification with concrete examples of such materials is given below: Dielectrics VTT Information Technology

10 Plastics Plastics are most popular material type. It reflects light near uniform way and gives highlights affected by color of light source. The optical properties such as color and reflectance level are also uniform. Matte Matte is special kind of opaque material as it does not have highlight. Wood Wood could be conceived as a variation of the plastics except the optical properties are varying on the surface depending on the wood pattern, etc. Leaves and Vegetation These are another variation of the plastics except the variation on the optical properties are much complex. Concrete and Stone The optical properties on these material is not uniform but could be modeled as a uniformed distributed noise. Hair and Fur Each element of hair and fur could be modeled as a plastic material, but it shows very complex appearance as a combination of hundreds of thousands elements. Paint By putting the paint on the existing material, its optical behavior will look like plastics. Worn materials As the paint, worn material effect is an additional layer added to the underlying materials. Optical properties of the worn material differ by type of effects, and underlying material. In general, it could be modeled as a special distribution pattern on the optical properties. Metals. Translucent In contrast to opaque materials, light enters a translucent material, is scattered inside the material and finally leaves the material again. In a translucent material a photon can enter and leave the material at very different positions (called subsurface scattering). Examples of materials that can be categorized as translucent are given in the list below: Skin Marble Milk Alabaster Those exemplar materials have difference in scattering patterns and translucent levels. VTT Information Technology 3

11 .3 Transparent Transparent materials, such as glass, form a special case of translucent materials. Light enters transparent materials but will generally not be scattered inside the material. It will pass through the material and simply exit again. Examples of materials that can be categorized as transparent are given in the list below: Glass When a photon enters to glass, the simplest model is a part of it reflects on the surface and part of it is refracted inside. The same will be happen when the photon exits from the glass. Water Water is more complex than glass because those simple reflect-refract model is no longer valid. Instead the reflection-refraction phenomenon is continuously occurred inside the material. Figure 1 Different types of materials [RenderMan] VTT Information Technology 4

12 3 Classification of Reflectance Models [Losasso05] Traditionally, the most used method of finding the color of a pixel has been through Gouraud interpolation of Lambert's Cosine Law at the vertices. This lighting model is extremely cheap to compute and is amenable to fixed function pipelines. With the advent of GPUs, Phong interpolation has become a viable option. This model has allowed for innovations like bump mapping giving more realism to modern virtual worlds. The underlying assumptions however are still the same; the surfaces are Lambertian. Unfortunately, this has the side effect of making most of the computer generated images look very much alike, and very different from the real world. The Lambertian surface assumption works great for some materials (like plastic), which means that different models must be used if other materials are to be represented faithfully. The classification can be made on how the properties of the surface are treated in the reflectance process. Reflection is the process by which light incident on a surface interacts with the surface such that it leaves on the incident side without change in frequency [Wynn05]. In the following figure, the different types of reflection from a single point light source are illustrated: Figure Different kinds of reflections as illustrated by Kautz04 A complete list of various types of reflection models is given in the list below: Type of Reflection Models: VTT Information Technology 5

13 Ideal Diffuse Lambert's Law Matte Oren-Nayar Minnaert Ideal Specular Reflection Law Glossy Phong Blinn-Phong Ward Schlick Cook-Torrance Some variations are made on the previous fundamental models to represent complex behavior. The extensive list of those methods are, Lambert,Phong, Blinn-Phong Shading models Lafortune described the diffuse cosine lobe (r=cos n x) which is the normal cosine function defined on a sphere, controlled by the sininess parameter n,(phong exponent). That cosine gives a lobe shape which approximates the distribution of energy about a reflected direction. Cook-Torrance Shading Model Torrance-Sparrow microfacets Fresnel's Formulas Anisotropy Models Kajiya Model Poulin-Fournier Model HTSG Model (He,Torrance,Sillion,Greenberg) Empirical Models Straus Model Ward Model programmable Model (RenderMan) Precomputed BRDF Sampled Hemispheres Spherical Harmonics Volume Shading VTT Information Technology 6

14 Atmospheric Modeling Ocean Modeling Kubelka-Munk Model (paint-pigments) Hanrahan-Krueger Model A complete description of most dominant real-time reflection models is given in the following section together with examples of their application. 3.1 The lighting equation The Lambertian Lighting Models Lambert created this model over a century ago, and as mentioned previously, it is still the most used model (by a huge margin) in real time graphics today. Lambert assumed that when light strikes a surface, the light is reflected equally in all directions. The light that strikes any given part of a surface is proportional to the cosine of the incident angle 1. The Lambertian Diffuse Lighting Equation: I = k a + k d f att ( N L) The cost of this equation is extremely small, and the results are usable, but it does give the appearance that the lit object is made of rough plastic (no specular component). Screenshot of Lambertian lighting 1 Please see the List Of Symbols for explanation of terms and symbols VTT Information Technology 7

15 Diagram showing the amount of light emitted in all directions given a light direction (purple line) The bottom two screenshots give a pictorial description of the behavior of the function. The white wireframe contour indicates how much light is given off in each direction, and the purple line indicates the light vector (the direction from which the light is coming). Notice that when the light is coming from an angle, the amount of light reflected in all directions is less that when the incident angle is close to zero (the light vector is perpendicular to the surface) 3.1. The Phong Lighting Model Phong lighting is the other major lighting model that is used in real time rendering, especially after the advent of programmable pipelines. Phong did not change any of Lamberts assumptions, and hence the cosine of the angle between the incident light vector and the surface normal is still used to calculate the diffuse component of the surface. Phong did however create Phong interpolation that involves the interpolation of the vectors across the faces of the polygons as opposed to colors. The largest benefit of interpolating vectors across the polygon is that accurate specular highlights can be reproduced. The major drawback of calculating the lighting equation at every pixel using these interpolated vectors is of course that a lot more computational power is used. The Phong Lighting Equation: a d att n ( N L) + k f ( E R I = k + k f ) s att Two other advantages of Phong interpolation are that it is easy to add bump mapping to surfaces, and the visual appearance of the surface is significantly better than per-vertex interpolated lighting. Objects that are lit by Phong lighting tend to look like various types of plastic (depending on the specular exponent). VTT Information Technology 8

16 Screenshot of Phong lighting Figures clearly showing that the specular highlight is in the direction of the reflection vector. The diffuse component is the same as the Lambertian diffuse component The Cook-Torrance Lighting Model The model presented by Cook and Torrance, strives for as much physical realism as possible, as opposed to the models above that are made entirely ad-hoc for computer graphics only, the Cook-Torrance model uses physical properties, and has all the nice properties one would expect a BRDF to have (such as energy conservation, complex substructures, and a predictive result). BRDFs like Cook-Torrance also has the advantage of using parameters with physical analogies, meaning that artists can tweak the properties of the surface easily to create realistic looking objects. The Cook-Torrance model assumes that the surface is made up of microscopic perfect Lambertian reflectors called microfacets. Several of the terms in the lighting equation deal with how these microfacets are oriented, masked and shadowed. The Cook-Torrance Lighting Equation VTT Information Technology 9

17 I = k a ρ = k f s e D = 4m + k ρ( L N) + k att d DGFλ ( θi) π ( L N)( E N) tan( β ) m 4 cos ( β ) s DGFλ ( θi) π ( E N) The D term in the equation is the distribution function of the microfacets based on the Beckman distribution function. The m parameter is the root-mean-square (RMS) of the slope of the microfacets. This means that a large m makes the reflections spread out (since the average slope of the microfacets is larger). The G term is the geometric attenuation term, which deals with how the individual microfacets shadow and mask each other. The F term is the Fresnel Conductance term that is wavelength dependent (notice the λ), but for computational simplicity, we will assume that it is wavelength independent (and hence only one calculation is needed). The Fresnel Conductance term deals with the amount of light that is reflected versus absorbed as the incident angle changes (an example of this is often seen when driving on a straight road, and the road appearing mirror-like when viewed from grazing angles). Screenshot of Cook-Torrance lighting From these diagrams, it is clear that this BRDF is clearly different. Notice the complete change in behavior when the incident angle is large VTT Information Technology 10

18 3.1.4 The Blinn Lighting Model The Jim Blinn model for specular reflection is built on top of the work done in 1967 by Torrance and Sparrow who worked on a model to explain the fact that the specular intensity varies with both the direction of the light source and the direction of the viewer, whereas previous models had ignored the direction of the viewer. The Blinn Model is a modification of the Torrance-Sparrow model that yields similar results, but is significantly cheaper to compute. The Blinn Lighting Equation: I = k f s att DGFλ ( θi) ( E N) c D = ( N H ) ( c 1) 1 + The lighting equation has the same form as the Cook-Torrance lighting equation above, with a geometric attenuation factor and a Fresnel conductance term. The distribution function (D) is now significantly easier to compute. Screenshot of Blinn lighting Diagrams depicting the Blinn BRDF clearly show that Blinn lighting is similar to Cook- Torrance Lighting VTT Information Technology 11

19 It is evident from the screenshots that it is now possible to make surfaces that look more like metal than plastic using this equation, but without the huge cost of the Cook-Torrance or the Torrance-Sparrow models. Just like all the other per pixel based methods, the per pixel version of this lighting model is also amenable to add-ons such as bump mapping The Oren-Nayar Lighting Model Oren and Nayar created a new BRDF in the hope to generalize the Lambertian diffuse lighting model. This BRDF can reproduce several rough surfaces very well, including wall plaster, sand, sand paper, clay, and others. It is however very computationally expensive, and it requires the calculation of azimuth and zenith angles. The need for a better diffuse lighting model seems very real, and in their original paper, Oren and Nayar presented a clay vase that was rendered using the Lambertian and their proposed models compared to a real image. It is glaringly obvious from that demonstration that the Lambertian model was not suitable for representing certain materials, whereas in this case their model was much better. This lighting equation can be calculated either per-pixel or per-vertex, and a per-pixel implementation is amenable to bump mapping, although the pixel program may get prohibitively expensive. The Oren-Nayar Lighting Equation (the simplified qualitative model): ρ I = kd fatt E0 cos( θi ) π σ A = σ σ B = 0.45 σ ( A + B( max[ 0,cos( φ φ )] sin( α) tan( β ))) The lighting equation above is simplified model that Oren and Nayar presented in their paper. It ignores terms like inter-reflections, in an effort to make the model cheaper to calculate. Since hardware like nv30 can calculate the above equation in hardware, at the fragment shader level, no preprocessing is necessary, which is helpful if the light configuration or the geometry is modified. r i VTT Information Technology 1

20 Screenshot of Oren-Nayar lighting At low angles of light incidence, the Oren-Nayar approximation is similar to the Lambertian model, but at high angles of incidence, the result is flatter, making the edges brighter. As the screenshots above show, the benefit to using the Oren-Nayar lighting model over the Lambertian model is probably not worth the increase computational requirements The Minnaert Lighting Model Minnaert added darkening limbs to the lighting equations to make the surface seem darker from certain viewing/lighting directions. This effect is seen in some types of clothing (such as velvet). The computational power required to implement Minnaert style lighting is not very high, and can easily be optimized through the use of a texture lookup. The Minnaert Lighting Equation: I = k d f att ( N L) *( N L) k (1 N E) 1 k Note that the first dot product can be combined with the second making the exponent k+1. The first part of the equation is simply Lambertian lighting, which is then modulated by the darkening factor. VTT Information Technology 13

21 This lighting model is well suited for bump mapping in it s per-pixel variant. Screenshot of Minnaert lighting It is clear from the diagrams that the darkening limbs bring the amount of light reflected towards zero when the viewer looks onto the surface at perpendicular angles Wards Anisotropic Lighting Model An isotropic surface has the property that for any given point on the surface, the light reflected does not change when the surface is rotated about the normal. This is the case for many materials, but some materials such as brushed metal or hair this is not the case. The reason for these anisotropic surfaces is that the micro facets that make up the surface have a preferred direction in the form of parallel grooves or scratches. There are several ad-hoc models for lighting anisotropic surfaces that have been developed for use in real time graphics. Other nvidia demos for anisotropic lighting use a texture lookup based on the cosine of the angle between the surface normal and the light vector one axis, and the cosine of the angle between the surface normal and the half angle vector on the other axis. If the texture map has a bright line down the diagonal, then the surface will be bright when those two values are approximately the same. The approach presented here does not use any textures, but is instead based on the BRDF introduced by Greg Ward Larson in 199. The Ward Anisotropic Reflection Model: VTT Information Technology 14

22 VTT Information Technology 15 ) ( 1 4 ) ( ) )( ( 1 ) ( N H Y H X H y x att s att d y x e L N E N L N f k L N f k I = α α α α The X and Y terms are two perpendicular tangent directions on the surface. They give represent the direction of the grooves in the surface. The α terms are the standard deviations of the slope in the X and Y direction (given by their respective subscripts). Proper tessellation is essential when per vertex calculations are used; otherwise per pixel calculations should be used. Screenshot of Wards Anisotropic lighting (The grooves in the surface were made to look like circular brushed metal patterns) The diagrams of the function clearly show that the lobe of reflected light is oriented perpendicularly to the groove in the surface (the grove is oriented with the wireframe box in the left-right direction)

23 3. Bidirectional Reflectance Distribution Function [Kautz04, Wynn05] To understand the concept of a BRDF and how BRDFs can be used to improve realism in interactive computer graphics, we begin by discussing what we know about light and how light interacts with matter. In general, when light interacts with matter, a complicated light-matter dynamic occurs. This interaction depends on the physical characteristics of the light as well as the physical composition and characteristics of the matter. For example, a rough opaque surface such as sandpaper will reflect light differently than a smooth reflective surface such as a mirror. Figure 1 shows a typical light-matter interaction scenario. Reflected Light Incoming Light Internal Reflection Transmitted Light Absorption Scattering and Emission Figure 3. Light interactions From this figure, we make a couple of observations about light. First, when light makes contact with a material, three types of interactions may occur: light reflection, light absorption, and light transmittance. That is, some of the incident light is reflected, some of the light is transmitted, and another portion of the light is absorbed by the medium itself. Because light is a form of energy, conservation of energy tells us that light incident at surface = light reflected + light absorbed + light transmitted For opaque materials, the majority of incident light is transformed into reflected light and absorbed light. As a result, when an observer views an illuminated surface, what is seen is reflected light, i.e. the light that is reflected towards the observer from all visible surface regions. A BRDF describes how much light is reflected when light makes contact with a certain material. Similarly, a BTDF (Bi-directional Transmission Distribution Function) describes how much light is transmitted when light makes contact with a certain material. In general, the degree to which light is reflected (or transmitted) depends on the viewer and light position relative to the surface normal and tangent. Consider, for example, a shiny plastic teapot illuminated by a white point light source. Since the teapot is made of plastic, some surface regions will show a shiny highlight when viewed by an observer. If the observer moves (i.e. changes view direction), the position of the highlight shifts. Similarly, if the observer and teapot both remain fixed, but the light source is moved, the VTT Information Technology 16

24 highlight shifts. Since a BRDF measures how light is reflected, it must capture this viewand light- dependent nature of reflected light. Consequently, a BRDF is a function of incoming (light) direction and outgoing (view) direction relative to a local orientation at the light interaction point. Additionally, when light interacts with a surface, different wavelengths (colors) of light may be absorbed, reflected, and transmitted to varying degrees depending upon the physical properties of the material itself. This means that a BRDF is also a function of wavelength. Finally, light interacts differently with different regions of a surface. This property, known as positional variance, is most noticeably observed in materials such as wood that reflect light in a manner that produces surface detail. Both the ringing and striping patterns often found in wood are indications that the BRDF for wood varies with the surface spatial position. Many materials exhibit this positional variance because they are not entirely composed of a single material. Instead, most real world materials are heterogeneous and have unique material composition properties which vary with the density and stochastic characteristics of the sub-materials from which they are comprised. Considering the dependence of a BRDF on the incoming and outgoing directions, the wavelength of light under consideration, and the positional variance, a general BRDF in functional notation can be written as BRDF λ ( θ, φ, θ, φ, u v) i i o o, where λ is used to indicate that the BRDF depends on the wavelength under consideration, the parameters θ i, φ i, represent the incoming light direction in spherical coordinates, the parameters θ o, φ o represent the outgoing reflected direction in spherical coordinates, and u and v represent the surface position parameterized in texture space. If you are unfamiliar with spherical coordinates, they are explained in the next section. Though a BRDF is truly a function of position, sometimes the positional variance is not included in a BRDF description. Instead, it is common to see a BRDF written as a function of incoming and outgoing directions and wavelength only (i.e. BRDF λ ( θ i, φi, θ o, φo )). Such BRDFs are often called position-invariant or shiftinvariant BRDFs. When the spatial position is not included as a parameter to the function an assumption is made that the reflectance properties of a material do not vary with spatial position. In general this is only valid for homogenous materials. One way to introduce the positional variance is through the use of a detail texture. By adding or modulating the result of a BRDF lookup with a texture, it is possibly to reasonably approximate a spatially variant BRDF. For the remainder of this tutorial, we will denote a position-invariant BRDF in functional notation as BRDF ( θ, φ, θ φ ) λ i i o, o where λ, θ i, φ i, θ o, and φ o have the same meaning as before. VTT Information Technology 17

25 When describing a BRDF in this functional notation, it is sometimes convenient to omit the λ subscript for the sake of notation simplicity. When this is done, keep in mind that the values produced by a BRDF do depend on the wavelength or color channel under consideration. In practice what this means is that in terms of the RGB color convention, the value of the BRDF function must be determined separately for each color channel (i.e. R, G, and B separately). For convenience, it s usually preferred not to specify a particular color channel in the subscript. The implicit assumption is that the programmer knows that a BRDF value must be determined for each color channel of interest separately. Given this slightly abbreviated form, the position-invariant BRDF associated with a single color channel can be considered to be a function of 4 variables. When the RGB color components are considered as a group, the BRDF is a three-component vector function. VTT Information Technology 18

26 4 Rendering techniques 4.1 The rendering equation Light reflectance models have always been of great interest to the computer graphics community. The most commonly used real-time illumination model (Blinn-Phong) was derived approximately twenty-five years ago at the University of Utah [Blinn77] but although widely used, it is not energy consistent or represents physically-accurate reflection behavior of models. The general rendering equation represents physicallyaccurate reflection behavior of materials has been well known since the seminal unification performed by [Kajiya86]. However, only recently [Kautz04] with the processing GPU power and physically based reflection models it was possible to perform accurate simulations of dynamic scenes in real-time based on the rendering equation. The rendering equation describes how much radiance is present at each point and at each direction in a scene. Radiance (L) is the most important quantity in radiometry and is expressed as radiant power (Φ) per unit projected area per unit solid angle (Watt/sr.m ). Thus radiance is expressed in the following equation: = d φ L Φ = L( x, ω ) cosθ dω Α dω da cosθ d From Radiometry we also know that radiant power (radiant flux) Φ is radiant energy per dq unit time Φ = and that radiant flux density (Irradiance) Ε is the radiant flux per unit dt dφ area arriving from any direction above the surface: Ε =. Having these basic d Α definitions we proceed to the definition of the bidirectional reflection distribution function (BRDF) which is the most general expression of reflectance of a material at the level of detail we wish to consider. The BRDF is defined as the ratio between differential radiance reflected in an excitant direction and incident irradiance through a differential solid angle: dl ( ) ( x Θ r ) dl( x Θ r ) f Θi Θ r = = de x Θ L x Θ cosθ dϖ ( ) i ΑΩ ( i ) i i Finally the equation that describes all light transport in a scene is the general rendering equation [Kajiya86] that expresses the radiance leaving a surface as a sum of its selfemitted radiance (in case the surface is a light source) and its reflected radiance, as given by the equation below: L x Θ = L x Θ + f x, Θ Θ L x Θ cosθ dω ( ) ( ) ( ) ( ) r r Ω The problem with the rendering equation, is that it is difficult to compute and definitely not a real-time friendly operation. It is an integral over a hemisphere of directions where r VTT Information Technology 19

27 L, the radiance, appears on both sides of the equation. In order to compute a photorealistic image and to achieve illumination registration in MR, we need to solve the above equation for each visible point through every pixel and compute each radiance value. Using ray tracing algorithms we could assure the following: We can query all possible attributes in a surface point (vertex position, normal, BRDF, etc.) Query light sources (emitted radiance for a given point and direction) Trace rays to find nearest visible point in some direction Check whether two points are mutually visible 4. Computing the rendering equation As many different light paths contribute to a single radiance value at a point visible through a pixel, certain selections have to be made about which paths to check, light sources etc. Thus the evaluation of the above rendering equation in real-time is prohibitive, thus various heuristic-based, or fast-evaluated analytical BRDF models have been proposed in order to be able to approximate its solution in real-time. Finally on the following list we present an overview of different configurations that the rendering equation can be applied in order to solve different combinations of lights and materials. For a complete description of these, authors are encouraged to look further in Kautz04. Direct (local) illumination In this model, photons are arrived in the surface is only directly coming from the light source. No interaction with other surface parts or object is considered. Thus any shadows or other reflected lights are not appeared. This is basic implementation of most graphics APIs including OpenGL. Indirect (global) illumination This model processes interaction between other objects including light sources. In this model, the effect of shadows appears as the result. Depending on the type of light source and the reflected lights, the shadow could appear as a hard shadow or a soft shadow. The hard shadow effect is easier to model because the behavior of photon for it is simpler than a soft shadow. The hard shadow is usually happens when a point light is illuminating and no complex reflection is applied. For further description on the lighting model, next chapter is briefly describes the type of those models. In interaction between surface parts (or objects) are modeled as interreflections and it could be categorized as diffuse interreflections (radiosity) and glossy interreflections (caustics) based on the behavior and pattern of reflected lights. For efficient computation, those interreflection behaviors are pre-computed among surface pairs (or sets). Accurate Solutions of the Rendering Equation To directly model the behavior of the photon, ray-tracing methods are widely adopted. The method simulates actual trajectory of sampled photon to determine the amount of photons illuminating the target surface and reflected from the target surface. The main drawback is that to give sufficient accuracy, the computational complexity is excessively high. To compensate this, a approximated model called radiosity is proposed to quantize the space into a set of polygonal surface parts and pre-calculate optical parameters for each combination of interacting polygons. Approximate Solutions of the Rendering Equation There are main paths in approximating the rendering equation, based on the type of lights that are to be simulated. In the case of point lights, no integration over the VTT Information Technology 0

28 hemisphere of possible directions is perfromed and the integral is transformed to Summation over the contribution of all lights sources, as depicted so far with the various heuristics or physically plausible lighting models in section 3.1. Thus the only complicated term left is the estimation of the BRDF. In order to approximate the rendering equation for application in real-time environments, another path is the creation of an environment map of the light emitted from scene enclosing the object. This environment map stores incident radiance from the scene towards the simulated object and traditionally has been exhibited in the form of a reflection texture map. When this reflection texture map is pre-filtered with a kernel representing the BRDF then it stores the exit radiance from the object towards the environment. Thus the rendering equation can be greatly simplified as the integration over L (the incoming radiance term) can be substituted by the environment map leaving as the only complicated term the BRDF and the Geometrical relationship term (self shadowing). This solution of light representation is often termed Global Illumination for Real-Time or Area Lights. Distant Illumination (Area Lights) With Shadowing This involves latest work with self-shadowing low-frequency and allfrequency transfer functions, as described by Sloan et al and Ng et al included in Kautz04. Without Shadowing This involves mainly the work of Ramamoorthi et al with irradiance maps as described in Kautz04. Point Lights Ambient Illumination This involves the simple constant term that is employed to compensate for indirect lighting in the simulated scene, as described with the Ka term in the Phong equation in section 3.1. With Shadowing There are currently two prominent methods for simulating real-time shadows with point lights Without Shadowing This involves the lighting models as described in section 3.1 VTT Information Technology 1

29 5 Light Sources and Illumination Although no the focus of this work, for completeness we illustrate the various types of Light sources that affect the different solutions of the rendering equation and its interaction with the various BRDF models. The type of lights affects the amount of incoming photons in the illumination process. For a more complete description, authors are encouraged to look in [Kautz04]. Local Illumination Light models used in the local illumination model are categorized as point lights, directional lights, spot lights, and ambient lights. Point light is a model of light source such that it is a point that emits the photon uniformly to every direction. The spot light is a variation of the point light as the emission direction is limited as a corn or similar structures. Directional light is a simplified model of sun-lights as photons are emitted in parallel directional way from the distant light source. The ambient light is a extremely simplified model of uniform reflection as it illuminates the environment truly uniform way. Global illumination Following rapid development of the hardware capability, it is possible to implement the complex illumination models for real-time rendering. Hard shadows and special kind of reflected materials (mirrors) were the first thing that was implemented in common APIs (although, the performance is still quite an issue for efficient rendering, as it requires a couple of more times on computation cost than local only illumination.) Instead of directly modeling the behavior of photons like ray-tracing, the current trend on the real-time rendering is to categorize the environment according to illuminating behaviors. Radiosity is a method to quantize the photon behavior as the interaction between piecewise planar (polygonal surface) parts. It gives comparably high level of rendering results with reduced computation time. The main drawback of the raiosity method is that its computational efficiencies can be achieved only for the static environment. Furthermore, even though it is efficient than the ray-tracing, still it is not efficient enough to be used in the real-time rendering. Environment map captures complex behavior of lights into a set of parameters and provides correct parameters to the one point in the space to be illuminated. It can be implemented with a simple look-up method and gives quite a good rendering result. The main problem is that the captured/modeled parameter is only valid at the one point in the environment and only works on the static environment. Strategic focus is also made on the extending simple illumination model with area lights. As most of light sources in the real environment are area or volume lights, it will give more accurate illumination between objects. The current solution is mainly sampling light points from the area source and modeling it as a set of point lights. Due to the innate complexity of the model, technology is not well matured to be applied in the real-time rendering yet. VTT Information Technology

30 6 Conclusion and Recommendations To represent a surface material, the illumination parameters are represented and simulated by selected reflectance/illumination model. The type of material is categorized by its behaviour to the light source according to the general illumination model. Graphics APIs like OpenGL and DirectX have historically consisted of a set of fixed functions for fundamental rendering operations including illumination/material rendering. By calling a function and passing a set of parameters, a developer could cause geometrical surfaces to be drawn on the screen in a certain way. That fixed, configurable 3D graphics pipeline consists of two main stages: the geometry processing stage and the rendering stage. Current consumer graphics hardware (Geforce6, Radeon 9500 and onwards) offer the possibility of replacing this fixed-function rendering pipeline with user-developed programs, usually referred to as shaders. There are two kinds of shaders according to the main stages: Vertex Shaders which involve mainly the shape and position of objects and Fragment Shaders which are focused to control the material properties and textures of surfaces. Utilizing these shaders function will give a possibility to use complex illumination models such as BRDF function. As indicated in the survey sections, the implementation of pre-existing rendering functions in realtime has been focused in research and development. There have been a few approaches to accommodate perceptual parameters in accelerating renderings and optimizing representations. Although those approaches showed some possibilities in devising optimal representation according to human perceptions, it still requires more thorough investigations on computational models of psychophysics and its corresponding representations. The rendering equations and BRDF, for example, could be further simplified or modified according to those finding once we get results from it. Although the main focus of CADPIPE does not lie on the opening new researches on this area and the advance in this area would require thorough research on coming decades, it is noted that the choice of general function and methodology would open a possibility to adopt new techniques. As the main material category, which will be used in the CADPIPE project, is metal and plastics, it is sufficient to use an API which supports fundamental reflectance model and material properties such as uniform diffuse and highlighted specula. Also, a possibility to have a shader is necessary to provide enhanced rendering for static scene. As the result of this observation and research described in this section we recommend that the OpenGL would be supported in the CADPIPE project as an open standard for real-time rendering. References to key articles [Blin77] J. Blinn. Models of Light Reflection For Computer Synthesized Pictures. In Proceedings SIGGRAPH, July 1977 [Cg05] Cg Language Toolkit User s Manual, Release 1.3, NVIDIA, [Directx05] Microsoft, The DirectX 9 API, accessed 10th May 005 [Kajiya86] J.T. Kajiya, The rendering equation, Proc. of SIGGRAPH 1986 The term vertex-fragment shader is preferred from the term vertex-fragment program, according to the OpenGL.0, DirectX and Renderman nomenclature. VTT Information Technology 3

31 [Kautz04] J. Kautz, Hardware Lighting and Shading: A Survey, Computers Graphics Forum 3(1), March 004, pages [Losasso05] F. Losasso, Surface Reflection Models, accessed 10th May 005 [Mccool01] McCool, M., SMASH: A Next-Generation API for Programmable Graphics Accelerators, SIGGRAPH 000 Course on Real-Time Programmable Shading, New Orleans, 000 [Peercy00] Peercy, M., Olano, M., Airey, J., Ungar, J., Interactive Multi-Pass Programmable Shading, (Proc. SIGGRAPH 00) [Proudfoot01] Proudfoot, K., Mark, W., Tzvetkov, S., Hanrahan, P., A Real-Time Procedural Shading system for Programmable Graphics Hardware, (Proc. of SIGGRAPH 01) [Wynn05] C. Wynn, An introduction to BRDF-Based Lighting, accessed 10th May 005 VTT Information Technology 4

32 Appendix A: Hardware GPU based Shaders (Lighting and shading programs) Graphics APIs like OpenGL and DirectX have historically consisted of a set of fixed functions. By calling a function and passing a set of parameters, a developer could cause geometrical surfaces to be drawn on the screen in a certain way. That fixed, configurable 3D graphics pipeline consists of two main stages: the geometry processing stage and the rendering stage. Current consumer graphics hardware (Geforce6, Radeon 9500 and onwards) offer the possibility of replacing this fixed-function rendering pipeline with user-developed programs, usually referred to as shaders 3. There are two kinds of shaders according to the main stages: Vertex Shaders which involve mainly the shape and position of objects and Fragment Shaders which are focused to control the material properties and textures of surfaces. Vertex Shader Thus the vertex shader is a set of instructions that operate on incoming vertex values and their associated data. The vertex shader is replacing the traditional graphics operations such as: Vertex Transformation Normal Transformation and normalisation Texture Coordinate generation and transformation Lighting Colour material application Clamping of colours Such vertex shaders are programs written either in assembly or in a High Level shading language. As vhdrenderer is rendering API independent, it is open to support both DirectX9 and OpenGL.0 HLSL APIs. However, for the time being and for fast prototyping, as we are implementing the OpenGL profile first and OpenGL.0 HLSL is not finalised yet, we choose to utilise the Cg HLSL by NVIDIA with only the ARB_OPENGL profiles. Vertex shaders that intend to perform computations similar to the fixed functionality of OpenGL are responsible for writing the code for all the functionality in the list above. For instance, it is not possible to use the existing fixed functionality to perform vertex and normal transformation but have a vertex shader perform a specialised lighting function. The vertex shader must be written to perform all three functions. Furthermore, any OpenGL state used by the shader can be tracked and made available to the shader. It operates on one vertex at a time and the output is sent through subsequent stages of processing as they are defined in OpenGL1.4: primitive assembly, users clipping, frustum 3 The term vertex-fragment shader is preferred from the term vertex-fragment program, according to the OpenGL.0, DirectX and Renderman nomenclature. VTT Information Technology 5

33 culling, perspective projection, viewport mapping, polygon offset, polygon mode, shade mode and culling. Fragment Shader The fragment shader is a program that operates on fragment values and their associated data. The fragment shader is intended to perform traditional graphics operations such as: Operation on interpolated values Texture access Texture application Fog Colour sum Pixel zoom Scale and bias Colour table lookup Convolution Colour matrix Fragment shaders do not replace the fixed functionality graphics operations that occur in the back end of OpenGL pixel processing pipeline, such as: Shading model, Coverage, Pixel ownership test, Scissor, Stipple, Alpha, Depth, Stencil tests, Alpha blending, Logical ops, Dithering, Plane masking For each fragment, the fragment shader can compute colour, depth, stencil or one or more arbitrary data values, but not its x/y position. Sometimes, the notion of a fragment is mistaken for the notion of a pixel. However, a pixel is only the final colour value written to the frame buffer, and each pixel in the frame buffer usually corresponds to multiple fragments. A fragment is a point in window coordinates produced by the rasterizer with associated attributes, such as interpolated colour values, a depth value and possibly one or more texture coordinates. A fragment modifies the pixel in the frame buffer at the same window space location based on a number of parameters and conditions defined by the pipeline stages following the rasterizer. In the following diagram, the complete 3D graphics pipeline with the addition of vertex and fragment shaders is illustrated, from the Cg [CG05] point of view and an example of shader application is illustrated in Figure 5. VTT Information Technology 6

Surface Reflection Models

Surface Reflection Models Surface Reflection Models Frank Losasso (flosasso@nvidia.com) Introduction One of the fundamental topics in lighting is how the light interacts with the environment. The academic community has researched

More information

CS 5625 Lec 2: Shading Models

CS 5625 Lec 2: Shading Models CS 5625 Lec 2: Shading Models Kavita Bala Spring 2013 Shading Models Chapter 7 Next few weeks Textures Graphics Pipeline Light Emission To compute images What are the light sources? Light Propagation Fog/Clear?

More information

w Foley, Section16.1 Reading

w Foley, Section16.1 Reading Shading w Foley, Section16.1 Reading Introduction So far, we ve talked exclusively about geometry. w What is the shape of an object? w How do I place it in a virtual 3D space? w How do I know which pixels

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

Illumination and Shading - II

Illumination and Shading - II Illumination and Shading - II Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/19/07 1 From last time Light Sources Empirical Illumination Shading Local vs Global Illumination 2/19/07

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

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

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

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

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

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

Shading. Brian Curless CSE 557 Autumn 2017

Shading. Brian Curless CSE 557 Autumn 2017 Shading Brian Curless CSE 557 Autumn 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics

More information

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

Local Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller Local Illumination CMPT 361 Introduction to Computer Graphics Torsten Möller Graphics Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism

More information

Complex Shading Algorithms

Complex Shading Algorithms Complex Shading Algorithms CPSC 414 Overview So far Rendering Pipeline including recent developments Today Shading algorithms based on the Rendering Pipeline Arbitrary reflection models (BRDFs) Bump mapping

More information

Lecture 4: Reflection Models

Lecture 4: Reflection Models Lecture 4: Reflection Models CS 660, Spring 009 Kavita Bala Computer Science Cornell University Outline Light sources Light source characteristics Types of sources Light reflection Physics-based models

More information

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall Required: Shirley, Chapter 10

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall Required: Shirley, Chapter 10 Reading Required: Shirley, Chapter 10 Shading Brian Curless CSE 557 Fall 2014 1 2 Basic 3D graphics With affine matrices, we can now transform virtual 3D objects in their local coordinate systems into

More information

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Thursday in class: midterm #1 Closed book Material

More information

BRDF Computer Graphics (Spring 2008)

BRDF Computer Graphics (Spring 2008) BRDF Computer Graphics (Spring 2008) COMS 4160, Lecture 20: Illumination and Shading 2 http://www.cs.columbia.edu/~cs4160 Reflected Radiance proportional to Irradiance Constant proportionality: BRDF [CW

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

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 Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation

More information

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch CSCI 420 Computer Graphics Lecture 18 Global Illumination Jernej Barbic University of Southern California BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch. 13.4-13.5] 1 Global Illumination

More information

Simple Lighting/Illumination Models

Simple Lighting/Illumination Models Simple Lighting/Illumination Models Scene rendered using direct lighting only Photograph Scene rendered using a physically-based global illumination model with manual tuning of colors (Frederic Drago and

More information

Lights, Surfaces, and Cameras. Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons

Lights, Surfaces, and Cameras. Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons Reflectance 1 Lights, Surfaces, and Cameras Light sources emit photons Surfaces reflect & absorb photons Cameras measure photons 2 Light at Surfaces Many effects when light strikes a surface -- could be:

More information

Introduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF

Introduction. Lighting model Light reflection model Local illumination model Reflectance model BRDF Shading Introduction Affine transformations help us to place objects into a scene. Before creating images of these objects, we ll look at models for how light interacts with their surfaces. Such a model

More information

Reading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5.

Reading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5. Reading Required: Angel 6.1-6.3, 6.5, 6.7-6.8 Optional: Shading Angel 6.4 OpenGL red book, chapter 5. 1 2 Introduction An abundance of photons So far, we ve talked exclusively about geometry. Properly

More information

Shading & Material Appearance

Shading & Material Appearance Shading & Material Appearance ACM. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/help/faq-fair-use/. MIT EECS 6.837 Matusik

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

Local Reflection Models

Local Reflection Models Local Reflection Models Illumination Thus Far Simple Illumination Models Ambient + Diffuse + Attenuation + Specular Additions Texture, Shadows, Used in global algs! (Ray tracing) Problem: Different materials

More information

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows. CSCI 480 Computer Graphics Lecture 18 Global Illumination BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch. 13.4-13.5] March 28, 2012 Jernej Barbic University of Southern California

More information

Virtual Reality for Human Computer Interaction

Virtual Reality for Human Computer Interaction Virtual Reality for Human Computer Interaction Appearance: Lighting Representation of Light and Color Do we need to represent all I! to represent a color C(I)? No we can approximate using a three-color

More information

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1) Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting & shading? Sphere

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

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

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting

More information

CSE 681 Illumination and Phong Shading

CSE 681 Illumination and Phong Shading CSE 681 Illumination and Phong Shading Physics tells us What is Light? We don t see objects, we see light reflected off of objects Light is a particle and a wave The frequency of light What is Color? Our

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

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows. CSCI 420 Computer Graphics Lecture 18 Global Illumination Jernej Barbic University of Southern California BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Angel Ch. 11] 1 Global Illumination

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

Timothy Walsh. Reflection Models

Timothy Walsh. Reflection Models Timothy Walsh Reflection Models Outline Reflection Models Geometric Setting Fresnel Reflectance Specular Refletance & Transmission Microfacet Models Lafortune Model Fresnel Incidence Effects Diffuse Scatter

More information

02 Shading and Frames. Steve Marschner CS5625 Spring 2016

02 Shading and Frames. Steve Marschner CS5625 Spring 2016 02 Shading and Frames Steve Marschner CS5625 Spring 2016 Light reflection physics Radiometry redux Power Intensity power per unit solid angle Irradiance power per unit area Radiance power per unit (solid

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

Shading. Brian Curless CSE 457 Spring 2017

Shading. Brian Curless CSE 457 Spring 2017 Shading Brian Curless CSE 457 Spring 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics

More information

The Rendering Equation. Computer Graphics CMU /15-662

The Rendering Equation. Computer Graphics CMU /15-662 The Rendering Equation Computer Graphics CMU 15-462/15-662 Review: What is radiance? Radiance at point p in direction N is radiant energy ( #hits ) per unit time, per solid angle, per unit area perpendicular

More information

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #7: Color and Shading Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #3 due this Friday,

More information

Illumination in Computer Graphics

Illumination in Computer Graphics Illumination in Computer Graphics Ann McNamara Illumination in Computer Graphics Definition of light sources. Analysis of interaction between light and objects in a scene. Rendering images that are faithful

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

Lighting affects appearance

Lighting affects appearance Lighting affects appearance 1 Source emits photons Light And then some reach the eye/camera. Photons travel in a straight line When they hit an object they: bounce off in a new direction or are absorbed

More information

Computer Graphics. Illumination and Shading

Computer Graphics. Illumination and Shading Rendering Pipeline modelling of geometry transformation into world coordinates placement of cameras and light sources transformation into camera coordinates backface culling projection clipping w.r.t.

More information

Rendering Light Reflection Models

Rendering Light Reflection Models Rendering Light Reflection Models Visual Imaging in the Electronic Age Donald P. Greenberg October 3, 2017 Lecture #13 Program of Computer Graphics, Cornell University General Electric - 167 Cornell in

More information

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface

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

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

Lecture 15: Shading-I. CITS3003 Graphics & Animation

Lecture 15: Shading-I. CITS3003 Graphics & Animation Lecture 15: Shading-I CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn that with appropriate shading so objects appear as threedimensional

More information

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

More information

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

More information

CS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Lecture 8: Lighting and Shading Tamar Shinar Computer Science & Engineering UC Riverside Why we need shading Suppose we build a model of a sphere using many polygons and color

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

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch 15-462 Computer Graphics I Lecture 7 Lighting and Shading February 12, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Light Sources Phong Illumination Model

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS380: Computer Graphics Illumination and Shading Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Course Objectives (Ch. 10) Know how to consider lights during rendering models

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 & Shading

Illumination & Shading Illumination & Shading Goals Introduce the types of light-material interactions Build a simple reflection model---the Phong model--- that can be used with real time graphics hardware Why we need Illumination

More information

Reading. Shading. Introduction. An abundance of photons. Required: Angel , Optional: OpenGL red book, chapter 5.

Reading. Shading. Introduction. An abundance of photons. Required: Angel , Optional: OpenGL red book, chapter 5. Reading Required: Angel 6.1-6.5, 6.7-6.8 Optional: Shading OpenGL red book, chapter 5. 1 2 Introduction So far, we ve talked exclusively about geometry. What is the shape of an obect? How do I place it

More information

Fundamentals of Rendering - Reflectance Functions

Fundamentals of Rendering - Reflectance Functions Fundamentals of Rendering - Reflectance Functions Image Synthesis Torsten Möller Mike Phillips Reading Chapter 8 of Physically Based Rendering by Pharr&Humphreys Chapter 16 in Foley, van Dam et al. Chapter

More information

Reflection and Shading

Reflection and Shading Reflection and Shading R. J. Renka Department of Computer Science & Engineering University of North Texas 10/19/2015 Light Sources Realistic rendering requires that we model the interaction between light

More information

Computer Vision Systems. Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations

Computer Vision Systems. Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations Computer Vision Systems Viewing Systems Projections Illuminations Rendering Culling and Clipping Implementations Viewing Systems Viewing Transformation Projective Transformation 2D Computer Graphics Devices

More information

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University Global Illumination CS334 Daniel G. Aliaga Department of Computer Science Purdue University Recall: Lighting and Shading Light sources Point light Models an omnidirectional light source (e.g., a bulb)

More information

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Path Tracing part 2 Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Monte Carlo Integration Monte Carlo Integration The rendering (& radiance) equation is an infinitely recursive integral

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

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 Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading) Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

CPSC / Illumination and Shading

CPSC / Illumination and Shading CPSC 599.64 / 601.64 Rendering Pipeline usually in one step modelling of geometry transformation into world coordinate system placement of cameras and light sources transformation into camera coordinate

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

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

Image Formation: Light and Shading. Introduction to Computer Vision CSE 152 Lecture 3

Image Formation: Light and Shading. Introduction to Computer Vision CSE 152 Lecture 3 Image Formation: Light and Shading CSE 152 Lecture 3 Announcements Homework 1 is due Apr 11, 11:59 PM Homework 2 will be assigned on Apr 11 Reading: Chapter 2: Light and Shading Geometric image formation

More information

Computer Graphics. Shading. Based on slides by Dianna Xu, Bryn Mawr College

Computer Graphics. Shading. Based on slides by Dianna Xu, Bryn Mawr College Computer Graphics Shading Based on slides by Dianna Xu, Bryn Mawr College Image Synthesis and Shading Perception of 3D Objects Displays almost always 2 dimensional. Depth cues needed to restore the third

More information

Fundamentals of Rendering - Reflectance Functions

Fundamentals of Rendering - Reflectance Functions Fundamentals of Rendering - Reflectance Functions CMPT 461/761 Image Synthesis Torsten Möller Reading Chapter 8 of Physically Based Rendering by Pharr&Humphreys Chapter 16 in Foley, van Dam et al. Chapter

More information

Ray Tracing: Special Topics CSCI 4239/5239 Advanced Computer Graphics Spring 2018

Ray Tracing: Special Topics CSCI 4239/5239 Advanced Computer Graphics Spring 2018 Ray Tracing: Special Topics CSCI 4239/5239 Advanced Computer Graphics Spring 2018 Theoretical foundations Ray Tracing from the Ground Up Chapters 13-15 Bidirectional Reflectance Distribution Function BRDF

More information

Illumination. The slides combine material from Andy van Dam, Spike Hughes, Travis Webb and Lyn Fong

Illumination. The slides combine material from Andy van Dam, Spike Hughes, Travis Webb and Lyn Fong INTRODUCTION TO COMPUTER GRAPHIC S Illumination The slides combine material from Andy van Dam, Spike Hughes, Travis Webb and Lyn Fong Andries van Dam October 29, 2009 Illumination Models 1/30 Outline Physical

More information

Lighting. Figure 10.1

Lighting. Figure 10.1 We have learned to build three-dimensional graphical models and to display them. However, if you render one of our models, you might be disappointed to see images that look flat and thus fail to show the

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

Shading / Light. Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham

Shading / Light. Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham Shading / Light Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham Phong Illumination Model See Shirley, Ch 10 and http://en.wikipedia.org/wiki/phong_shading

More information

Shading I Computer Graphics I, Fall 2008

Shading I Computer Graphics I, Fall 2008 Shading I 1 Objectives Learn to shade objects ==> images appear threedimensional Introduce types of light-material interactions Build simple reflection model Phong model Can be used with real time graphics

More information

Lab 9 - Metal and Glass

Lab 9 - Metal and Glass Lab 9 - Metal and Glass Let the form of an object be what it may, light, shade, and perspective will always make it beautiful. -John Constable Prologue Support code: /course/cs1230/src/labs/lab09 This

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

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Final Project: Real-Time Global Illumination with Radiance Regression Functions Volume xx (200y), Number z, pp. 1 5 Final Project: Real-Time Global Illumination with Radiance Regression Functions Fu-Jun Luan Abstract This is a report for machine learning final project, which combines

More information

Lighting affects appearance

Lighting affects appearance Lighting affects appearance 1 Source emits photons Light And then some reach the eye/camera. Photons travel in a straight line When they hit an object they: bounce off in a new direction or are absorbed

More information

LIGHTING AND SHADING

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

More information

Chapter 1 Introduction. Marc Olano

Chapter 1 Introduction. Marc Olano Chapter 1 Introduction Marc Olano 1 About This Course Or, why do we want to do real-time shading, and why offer a course on it? Over the years of graphics hardware development, there have been obvious

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

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

Global Illumination The Game of Light Transport. Jian Huang

Global Illumination The Game of Light Transport. Jian Huang Global Illumination The Game of Light Transport Jian Huang Looking Back Ray-tracing and radiosity both computes global illumination Is there a more general methodology? It s a game of light transport.

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

Understanding Variability

Understanding Variability Understanding Variability Why so different? Light and Optics Pinhole camera model Perspective projection Thin lens model Fundamental equation Distortion: spherical & chromatic aberration, radial distortion

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

Lighting and Reflectance COS 426

Lighting and Reflectance COS 426 ighting and Reflectance COS 426 Ray Casting R2mage *RayCast(R3Scene *scene, int width, int height) { R2mage *image = new R2mage(width, height); for (int i = 0; i < width; i++) { for (int j = 0; j < height;

More information

Today we will start to look at illumination models in computer graphics

Today we will start to look at illumination models in computer graphics 1 llumination Today we will start to look at illumination models in computer graphics Why do we need illumination models? Different kinds lights Different kinds reflections Basic lighting model 2 Why Lighting?

More information

CS 4600 Fall Utah School of Computing

CS 4600 Fall Utah School of Computing Lighting CS 4600 Fall 2015 Utah School of Computing Objectives Learn to shade objects so their images appear three-dimensional Introduce the types of light-material interactions Build a simple reflection

More information

Radiometry. Reflectance & Lighting. Solid Angle. Radiance. Radiance Power is energy per unit time

Radiometry. Reflectance & Lighting. Solid Angle. Radiance. Radiance Power is energy per unit time Radiometry Reflectance & Lighting Computer Vision I CSE5A Lecture 6 Read Chapter 4 of Ponce & Forsyth Homework 1 Assigned Outline Solid Angle Irradiance Radiance BRDF Lambertian/Phong BRDF By analogy with

More information

Radiometry and reflectance

Radiometry and reflectance Radiometry and reflectance http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 16 Course announcements Homework 4 is still ongoing - Any questions?

More information