Path Tracing. Mikael Persson mpersson December 3, 2001

Size: px
Start display at page:

Download "Path Tracing. Mikael Persson mpersson December 3, 2001"

Transcription

1 Path Tracing Mikael Persson mpersson December 3, 2001 This report is available online for better viewing:

2 Project Report 1. Topics The rendering equation Monte Carlo integration for direct illumination Bidirectional reflectance distribution function Thin-lens camera model 2. Statement The raytracer previously implemented can produce very nice pictures. But it is still a long way from photo-realistic rendering. This project attempts to take the ray tracer one step closer to that goal. The first problem that will be addressed is the simulation of light transport. The theory of the rendering equation [4], and the bidirectional reflectance distribution function will be used. To approximate the rendering equation Monte Carlo integration will be used for direct illumination and path tracing for indirect illumination. Combined with a more accurate light model [3] and other features such Beer s law, Fresnel effects [6] and depth of field [5]. The latter feature will address the simulation of the camera used to capture the scene. 3. Technical issues The path-tracing algorithm is formulated as a possible solution strategy for the rendering equation [4]. This technical outline will describe how this project has applied the path-tracing algorithm for that purpose. The details of the algorithm are addressed below, the implementation issues section covers the general description of the algorithm. If good references exist, the technical issue will only be discussed briefly, if not, then a more detail description will be given. 3.1 The rendering equation The rendering equation [4] that has to be solved for each surface point is stated below. L( x, v) = L ( x, v) + ρ ( x, v, i) L ( x, i)( n i di e ) i Where L(x,v) is the radiance leaving the point x in direction v. L e ( x, v) is the amount of radiance emitted by the surface from point x in direction v. The BRDF ρ( x, v, i) computes a weight factor for the amount of radiance incoming from i at point x reflected in direction v. L i ( x, i) is the radiance incoming from direction i at point x, n is the surface normal at the point x. The expression is integrated over all possible incomming directions i, usually the visible hemisphere. 3.2 Approximation of the rendering equation using path tracing The challenge of approximating the rendering equation will be attempted with a technique called path-tracing, fully described in [2]. Rays will be traced from the camera (eye) and into the scene. At each ray surface intersection two steps need to be performed, first a Monte Carlo integration of direct illumination, fully described in [1] and second a path-tracing resulting in simulation of indirect illumination. The

3 procedure of sampling possible paths from the light source to the eye, although the paths are created in the opposite order, composes the path-tracing algorithm. Direct lighting using Monte Carlo integration Indirect lighting using pathtracing Figure 3.1. Illustration of the path-tracing method with direct and indirect illumination. A great number of sample paths (in the order of ) are gathered for each pixel, and thus the rendering equation is approximated by using the Monte Carlo integration, as described below. 3.3 Monte Carlo integration Approximating an integral using Monte Carlo methods can be performed as stated below. Where p(x) is an arbitrary probability density function and x 1...xM are samples achieved using the pdf p. I = f ( x) dx = f ( x) p( x) f ( x) M i dx = Ε p( x) p( x) M i= 1 p( xi ) 1 f ( x ) 3.4 Direct illumination and area light sources At each ray-object intersection, the direct illumination is computed forming one of the subpaths along the way. As can be seen in Figure 3.1, a sample path is actually composed of n subpaths from lightsource to the pixel, n being the total path length. The direct illumination is computed by integrating illumination contributions over the area of the light source. The following expression: L( x, v) = L e ( x, v) + ' s( x, x )cosθ cosθ M ' ' i i ρ ( x, v, xi xi ) Ae Le i= 1 xi where L is the radiance leaving the surface point, x, in direction v, results from the application of the Monte Carlo integration to the rendering equation for a surface point, while one must take into account that direct illumination is composed of deterministic rays, i.e. the shadow ray. ' 2 i x

4 The light source is sampled M times, s(x,y) is a shadow function being 0 if an object is in between point x and y, else being 1. The extra cosine factor, of the angle between the shadow ray and the light source normal, and the distance squared arises from the fact that the shadow ray is deterministic. A e is the area of the light source, the reciprocal of the probability of each shadow ray, and L e is the radiance leaving the lightsource. Figure 3.2, below shows an example of soft shadows produced using Monte Carlo integration. Figure 3.2. The cube casts soft shadows created using Monte-Carlo integration. 3.5 The Bidirectional Reflectance Distribution Function The BRDF, ρ ( x, v, i), mentioned above must compute a weight factor stating how much radiance is reflected from direction i in direction v at a surface point x. The BRDF describes the properties of the surface being rendered. The function must also supply a probability density function relating incoming and reflection directions, i.e. computing the probability of a certain pair of incoming and reflection directions. The pdf will be used for importance sampling. The materials described below are implemented in the path tracer Diffuse materials Diffuse materials have a uniform distribution i.e. incoming radiance is evenly distributed in all directions. This results in a constant BRDF, being the diffuse colour of the material Shirley materials For metals and other more exotic materials the BRDF described in [3] is used. The BRDF has a number of attributes under user control, R d, the diffuse reflectance, R s, the specular reflectance, nu and nv being the exponents, i.e. controlling the specular behaviour of the material. In Figure 3.3 below, a couple of example materials produced using the above BRDF are shown.

5 Figure 3.3. The image contains three spheres with different versions of the Shirley BRDF. The left sphere uses only specular settings, the middle sphere uses specular and diffuse settings and the right sphere is only diffuse Dielectric materials To simulate dielectric materials, such as water and glass, a combination of refractive path tracing, Beer s law and a phong model for direct illumination is used. The parameters of the lighting model are, Rs the specular reflectance used in the phong model for direct illumination, a r, ag, ab, the exponents of Beer s law attenuation controls the appeared colour of the material. The BRDF, Beer s law attenuation, as described below, is used for refractive paths, i.e. paths passing through the transmissive object. ρ x, k, k ) = e ( 1 2 at Rr Where R r is the recursive, i.e. transmitted, colour computed by recursive calling of the path-tracing algorithm. For direct illumination a phong like model is used, presented below. ρ ( x, k s k 10 1, k2 ) = R ( r 2 ) Where r is the reflected incoming, k 1, vector. Note that this material model is neither energy conserving nor reciprocal but gives reasonable result if used with caution. Figure 3.4, below shows a collection of different materials produced with the BRDF described above. Figure 3.4. Dielectric material samples. Left, sphere with reddish Beer s law attenuation. Middle sphere with bluish Beer s law attenuation. Right, sphere without Beer s law attenuation.

6 3.6 Sampling paths At each ray-object intersection a new direction for the path must be selected. This can be done in a number of different ways depending on the object material. At each surface intersection one of four different ray scattering methods are randomly chosen as described in the implementation section below Diffuse path sampling Diffuse paths are generated by uniform hemisphere sampling, i.e. a diffuse material scatter light uniformely in all directions of the hemisphere. The fact that the diffuse surfaces scatter light uniformly results in more noise in the rendering since more samples has to be made to cover the entire hemisphere in an feasible way. The details of the sampling used are described in [2]. incomming ray Figure 3.5. Illustrating the scattering of light on a diffuse surface Reflective path sampling Reflective paths are generated by computing and perturbing the specular reflection direction. The perturbation is uniform resulting in a constant probability density function. incomming ray normal reflected ray Figure 3.6. Illustrating the scattering of light on a reflective surface. The image below, Figure 3.7, shows a reflective material sampled using perturbed reflective sampling as described above. Note the blurry reflection as a consequence of the random perturbations. Figure 3.7. The sphere is rendered using the Shirley BRDF with reflective path sampling.

7 3.6.2 Refractive path sampling Refrective paths are computed by using Snell s law. A detailed description on refraction and its use in dielectric materials is presented in [6]. No perturbation is used to allow simulation of thin glass objects as often is the case. The image below, Figure 3.8, illustrates the effect of refraction on a sphere. Figure 3.8. A refractive sphere rendered using refractive path sampling. No perturbation is used Shirley path sampling When using shirley materials, diffuse, reflective and refractive sampling may not produce the desired results. If an accurate visual representation of the material is to be achieved one must sample the BRDF in the directions where it has the greatest weight. By implementing importance sampling as described in [3] this was achieved. The images below, Figure 3.9, shows a rendered sphere with and without importance sampling. Figure 3.9. Left, Shirley BRDF sphere with importance sampling. Right, Shirley BRDF sphere without importance sampling. 3.7 Depth of field The camera model, i.e. depth of field simulation, is achieved using a thin-lens model. The used specifies a lens aperature (radius) and a focal plane distance, i.e. the plane where everything is in perfect focus. First the intersection between the focal plane and the ray from the eye (center of the lens) through the current pixel is computed, all additional rays fired will pass through this point. For each sample ray used for pixel

8 sampling a random position on the lens is picked and used as origin for the ray resulting in a random ray within the field specified by Figure 3.10, below. Thin lens Image plane Focal plane Figure Illustrating the thin-lens camera model simulation. When the scene is path traced using the, according to the camera model computed, rays as primary rays objects in front of and behind the focal plane will become blurry, i.e. out of focus. 4. Software design The software design is straigh forward. A scene described by the extended scripting language is processed by the script shell module, grsh, an interface to the graphics database module, gr. As the script is executed, the scene database is built and finally the rendering command is executed. When rendering is initiated the render module starts rendering and queries the database for scene ray intersections. script Create scene Scene database enqueries Grsh Gr Render image Render command Figure 4.1. Illustrating the software design and basic communication scheme. Figure 4.1 above gives a simple view of the module communications described above. 4.1 Communication The communication of the path tracer is simple: Input will consist of a scene script written in the extended scene description language. Output will consist of the final rendered picture. The path tracer is executed using the following command line:./grsh scenefile.gr Where scenefile.gr is the extended scene description script.

9 4.2 Modules Mainly the same modules as used in the ray tracer assignment. Grsh, the scene description language interface. This module contains the TCL interface to the scene database in module gr. Gr, the scene database. Contains functions for modifying the scene database as well as performing ray tracing requests. It is divided into a number of parts each handling a specific scene graph node type. Each part has functions for node creation, data structure building and ray intersection where applicable. The parts of the module in order from the top of the file are: 1. Node managing functions 2. Transform functions 3. Uniform grid functions 4. Polyhedron functions 5. Instance functions 6. Sphere functions 7. Box functions 8. Material functions 9. Light source functions 10. Scene graph functions 11. Statistics functions Render, performs the actual rendering with support of the scene database request functions. This module also contains the lighting model and supporting functions for importance sampling. The module is divided into four parts, in order from the top of the file, BRDF functions, importance sampling functions, path tracing, main ray generation and the rendering algorithm. 4.3 Organisation All project related files lies under the A5 directory. Source, executable, documentation and data are organised according to the following: All source files lies under A5/src. The command make will compile and link the entire project, creating the executable grsh. The executable grsh lies under the A5 directory. The scene files demonstrating the different features and images produced by these scene files lies in A5/data. The README file contains a simple user guide, and instructions on how to run the different test cases. 5. Implementation issues This section covers interesting issues in an implementation point of view. (The) first issue covered is the extensions of the scene language needed for the path tracing as well as the advanced material functions, followed by a pseudo code description of the

10 path tracing algorithm. A simple description of the hierarchical spatial uniform grid optimisation is included, as well as a limited description of the median filter used on the final image. 5.1 Scene language extensions The scene language extensions used for controlling the new features are listed below Material extensions The material command is extended to support the different material types listed in the technical issues section. The basic material command is: gr_material name type options Where name is the name of the material, as in the original command. Type being one of the material types described above, diffuse, dielectric or shirley. The options field consists of different material type dependant options, all possible options are listed below: diffuse, requires a RGB value, i.e. {r g b}, and sets the diffuse reflectance of the material. Only valid for diffuse and shirley material types. specular, requires a RGB value, i.e. {r g b}, and sets the specular reflectance of the material. Only valid for shirley and dielectric material types. exp, requires a two value tuple, i.e. {nu nv}, defining the two exponents of the shirley type material model, nu and nv. n, requires a double value. Defines the index of refraction for the dielectric material type. sampling, requires a four value tuple, i.e. {a b c d}. Defines the probability of the path using each of the above specified path sampling methods when scattering at a surface intersection point. They are defined in the order, diffuse sampling, reflective sampling, refractive sampling and shirley sampling. Valid for all material types. beers, requires a three value tuple, i.e. {ar ag ab}. Defining the exponent used when applying Beer s law in the dielectric material type Area light sources Instead of using the simple point light sources implemented in the ray tracing assignment, the project will use area light sources. These are included in the scene graph as any other geometry would be, and they are defined by the following scene graph description language command. gr_als_planar pname name {r g b} {x y z} size This command will create a planar light source at position {x y z} spanning in the x-zplane the amount of size, with emitted radiance {r g b}. The light source will be inserted into the hierarchy at pname:name.

11 5.1.3 Rendering options The gr_render command has been extended with options controlling the extra features of the path tracer. The command has the same basic functionality as in the original ray tracer but with the following extensions: accelerator, <on/off>, activates or deactivates the hierarchical spatial subdivision acceleration scheme. Default is off. globalilllumination, <on/off>, activates or deactivates the recursive path tracing algorithm, if deactivated only direct illumination and primary rays are used. Default is off. antialiasing, <on/off>, activates or deactivates the jitter grid antialiasing process. Default is off. pathlength, defines the path length used by the recursive path tracing algorithm. A path is terminated if it hits the light source or if the length reaches the value defined by the option pathlength. Default is 2. depthoffield, <on/off>, activates or deactivates thin-lens camera simulation, i.e. depth of field effects. focaldistance, sets the focal distance of the camera model i.e. the distance along the view direction where all objects are in perfect focus. Default is 1. aperature, sets the radius of the thin-lens used by the camera mode. Default is startline, sets the first scanline to render. Can be used to controll which segment of an image is to be rendered. If not specified the image will start rendering from the first scanline. stopline, set the last scanline to render. Can be used to controll which segment of an image is to be rendered. If not specified the image will stop rendering after the last scanline. samplesperpixel, sets the number of samples per pixel used when approximating the rendering equation. Default is 16. samplesperlightsource, sets the number of samples per light source in the scene used when computing direct illumination using Monte-Carlo integration. Default is The path tracing algorithm The basic path tracing algorithm is presented below. The details of the algorithm, such as direct illumination, path sampling and thin-lens simulation, are covered above in the technical issues section.

12 Render the image using path tracing For each pixel Clear color For each sample Pick ray on lens through random position in pixel Color = color + pathtrace (ray) Pixel = color / #samples Pathtrace(ray) Find nearest intersection with scene Compute intersection point and normal Color = shade(point,normal) Return color Shade(point,normal) Clear Color For each light source Test visibility of random position of light source If visible Color = color + direct illumination Color = color + pathtrace(randomly selected ray) Return color 5.3 Heirarchical spatial uniform grid optimisation When rendering images using path tracing, a great number of rays are traced. To optimise the time consuming procedure, a hierarchical spatial uniform grid optimisation is implemented. The basic algorithm is described in [7]. The basic algorithm is extended by a two level hierarchy, one level covering the entire scene and one level for each polyhedron mesh where required. Tests with and without the optimisation scheme activeated where performed resulting in Figure 5.1, below # seconds # spheres Figure 5.1. Results from acceleration testing, dotted line being with acceleration activated and filled line without acceleration.

13 As expected the time required to render a scene without acceleration increases linearly with the number of objects in the scene. If the described acceleration scheme is activated the time required is more or less constant, of course it will increase but not as a factor of the number of objects but as a factor of their distribution in space. 5.4 Median filtering To produce images with low noise variance a great number of samples per pixel and light source is required. Images with high noise can be post-processed with a median filter to reduce noise variance. A very basic median filter was implemented in MATLAB and applied to the final image. The simple MATLAB function for grayscale images is presented below. function out=medfilt2(img,n) for y=1:size(img,1), for x=1:size(img,2), cell_red = img(max(yn/2,1):min(y+n/2,size(img,1)),max(xn/2,1):min(x+n/2,size(img,2))); out(y,x) = median(median(cell)); end; end; 6. Goals The goal of this project was to extend the ray tracer with features essential for photorealistic rendering. The ray tracer shall be able to produce convincing light simulation, both indirect and direct illumination. Henrik Van Jensen has produced several close to photo-realistic images using different global illumination techniques. Below is an example of global illumination simulation of diffuse surfaces such as processed clay or wood, courtesy of Henrik Van Jensen. Figure 1. Left, jaguar rendered using path tracing, courtesy of Henrik Van Jensen. Right, polygonal model that will be rendered using the path tracer implemented as the project. One of my goals was to be able to produce close to the same realism with my ray tracer using the model presented above to the right. The model will be placed in a suitable environment and rendered with global illumination and camera lens simulation, i.e. depth of field.

14 To clearly show that all objectives has been reached, a Cornell box test image will be created and rendered in several versions according to the objectives section. It will contain shiny surfaces, refractive surfaces and depth of field effects. 7. Conclusion I believe all objectives were reached in an satisfactory fashion. Although I had hoped to be able to conduct more genuine testing and buf fixing. Most algorithms work for reasonable scenes. I have found some problem in the uniform grid acceleration scheme leaving glitches in polygon meshes most certainly due to numerical errors in the bounding box computations. Although I believe the purpose of this project was to demonstrate the different features and successfully implement all stated algorithms. For the final image I produced, according to the goals stated above, a scene composed of the modelled character staged in a suitable environment. The scene contains most of the features implemented such as global illumination, reflection, refraction and depth of field. Figure 7.1. The final image.

15 8. Bibliography [1] Peter Shirley. Realistic Ray Tracing. A K Peters, Ltd. pp [Contains a detailed description of the Monte Carlo integration technique for direct illumination.] [2] Peter Shirley. Realistic Ray Tracing. A K Peters, Ltd. pp [Contains information on the path-tracing technique.] [3] Michael Ashikhmin and Peter Shirley. An anisotropic Phong BRDF model. Journal of Graphics Tools, 5(2):25-32, 2000 [Describes the lighting model to be used.] [4] James T. Kajiya. The rendering equation. Proceedings of the 13th annual conference on Computer graphics,1986.[describes the theory behind the rendering equation.] [5] Peter Shirley. Realistic Ray Tracing. A K Peters, Ltd. pp [Description of camera models and depth of field] [6] Peter Shirley. Realistic Ray Tracing. A K Peters, Ltd. pp [Description of basic materials, Beer s law, Fresnel effect.] [7] Peter Shirley. Realistic Ray Tracing. A K Peters, Ltd. pp [Uniform grid acceleration scheme.]

16 Objectives: Project Name: Mikael Persson UsedID: mpersson StudentID: Objective 1: A hierarchical spatial subdivision scheme is introduced as described in the specification. Performance measures are performed with and without the optimisation. Objective 2: A scene including the character presented in the specification is modelled, exported to the scene description language format and rendered using the ray tracer. Objective 3: Antialiasing via supersampling is performed by the jittered grid approach. Sample images with and without the supersampling are presented. Objective 4: Area light sources produce soft shadows using Monte Carlo integration. Soft shadows are clearly visible in the Cornell box test image. Objective 5: Indirect illumination via reflection, so called colour bleeding, is performed via path tracing and is clearly visible in the Cornell box test image. Objective 6: Depth of field is implemented [5] and clearly visible in a version of the Cornell box test image. Objective 7: Light transmission is implemented via refraction. The feature is clearly visible in the Cornell box test image. Objective 8: Beer s law is implemented for attenuation through transmissive objects as described in [6]. The results are clearly visible in the Cornell box test image. Objective 9: The BRDF described in [3] is used for lighting computations. Examples of the materials presented in [3] is clearly visibile in the Cornell box test image. Objective 10: The BRDF described in [3] is used for importance sampling. The Cornell box image with and without importance sampling is available. For the ray tracing assignment a spatial subdivision optimisation scheme for polyhedron meshes was implemented. Declaration: I have read the statements regarding cheating in the CS488/688 course handouts. I affirm with my signature that I have worked out my own solution to this project, and the code I am handing in is my own. Signature:

17 sum is: /usr/bin/sum Dec 2 11: Checksum for A5 for mpersson on ethane.math Page 1 total drwxrwx--x 4 mpersson cs Dec 2 00:36./ drwxrwx--x 8 mpersson cs Sep 14 14:30../ rw-r--r-- 1 mpersson cs Dec 2 00:28 README drwxrwx--x 2 mpersson cs Dec 2 11:16 data/ rwxr-x--x 1 mpersson cs Dec 2 00:33 grsh* drwxrwx--x 2 mpersson cs Dec 2 00:33 src/ A5/data: total drwxrwx--x 2 mpersson cs Dec 2 11:16./ drwxrwx--x 4 mpersson cs Dec 2 00:36../ rw-r--r-- 1 mpersson cs Dec 1 22:25 cornell1-aa.gr rw-r--r-- 1 mpersson cs Dec 1 22:15 cornell1-aa.png rw-r--r-- 1 mpersson cs Dec 1 22:25 cornell1.gr rw-r--r-- 1 mpersson cs Dec 1 18:57 cornell1.png rw-r--r-- 1 mpersson cs Dec 1 22:26 cornell2.gr rw-r--r-- 1 mpersson cs Dec 1 18:57 cornell2.png rw-r--r-- 1 mpersson cs Dec 1 22:26 cornell3-noimp.gr rw-r--r-- 1 mpersson cs Dec 1 22:16 cornell3-noimp.png rw-r--r-- 1 mpersson cs Dec 1 21:37 cornell3.gr rw-r--r-- 1 mpersson cs Dec 1 21:32 cornell3.png rw-r--r-- 1 mpersson cs Dec 1 22:26 cornell4.gr rw-r--r-- 1 mpersson cs Dec 1 22:04 cornell4.png rw-r--r-- 1 mpersson cs Dec 1 22:26 dof.gr rw-r--r-- 1 mpersson cs Dec 1 18:57 dof.png rw-r--r-- 1 mpersson cs Dec 1 22:26 final.gr rw-r--r-- 1 mpersson cs Dec 1 18:56 final.png rw-r--r-- 1 mpersson cs Dec 1 18:56 final_median.png rw-r--r-- 1 mpersson cs Dec 2 00:35 nodof.gr rw-r--r-- 1 mpersson cs Dec 2 11:16 nodof.png rw-r--r-- 1 mpersson cs Dec 1 21:35 performance2x2.gr rw-r mpersson cs Dec 1 22:14 performance2x2.png rw-r--r-- 1 mpersson cs Dec 1 21:35 performance3x3.gr rw-r mpersson cs Dec 1 22:18 performance3x3.png rw-r--r-- 1 mpersson cs Dec 1 21:35 performance4x4.gr rw-r mpersson cs Dec 1 22:19 performance4x4.png rw-r--r-- 1 mpersson cs Dec 1 21:35 performance5x5.gr rw-r mpersson cs Dec 1 22:20 performance5x5.png A5/src: total drwxrwx--x 2 mpersson cs Dec 2 00:33./ drwxrwx--x 4 mpersson cs Dec 2 00:36../ rw-r-x--- 1 mpersson cs Nov 20 19:27 Makefile* rw-r--r-- 1 mpersson cs Dec 1 21:24 gr.c rw-r--r-- 1 mpersson cs Dec 1 21:14 gr.h rw-r--r-- 1 mpersson cs Dec 1 21:21 grsh.c rw-r--r-- 1 mpersson cs Nov 20 19:36 pic.c rw-r--r-- 1 mpersson cs Nov 20 19:36 pic.h rw-r--r-- 1 mpersson cs Dec 1 21:23 render.c rw-r--r-- 1 mpersson cs Dec 1 21:14 render.h rw-r--r-- 1 mpersson cs Dec 1 21:23 util.c rw-r--r-- 1 mpersson cs Dec 1 21:14 util.h A5

18 Dec 2 11: Checksum for A5 for mpersson on ethane.math Page 2 A5/src A5/src/gr.c A5/src/gr.c A5/src/grsh.c A5/src/grsh.c A5/src/pic.c A5/src/pic.c A5/src/render.c A5/src/render.c A5/src/util.c A5/src/util.c A5/src/gr.h A5/src/gr.h A5/src/pic.h A5/src/pic.h A5/src/render.h A5/src/render.h A5/src/util.h A5/src/util.h A5/src/Makefile A5/src/Makefile A5/data A5/data/final.png A5/data/final.png A5/data/final_median.png A5/data/final_median.png A5/data/cornell3.gr A5/data/cornell3.gr A5/data/dof.png A5/data/dof.png A5/data/cornell2.png A5/data/cornell2.png A5/data/cornell4.png A5/data/cornell4.png A5/data/performance2x2.gr A5/data/performance2x2.gr A5/data/performance3x3.gr A5/data/performance3x3.gr A5/data/performance4x4.gr A5/data/performance4x4.gr A5/data/performance5x5.gr A5/data/performance5x5.gr A5/data/cornell3.png A5/data/cornell3.png A5/data/cornell3-noimp.png A5/data/cornell3-noimp.png A5/data/cornell1-AA.png A5/data/cornell1-AA.png A5/data/cornell1.png A5/data/cornell1.png A5/data/performance2x2.png A5/data/performance2x2.png A5/data/performance3x3.png A5/data/performance3x3.png A5/data/cornell3-noimp.gr A5/data/cornell3-noimp.gr

19 Dec 2 11: Checksum for A5 for mpersson on ethane.math Page 3 A5/data/cornell4.gr A5/data/cornell4.gr A5/data/performance4x4.png A5/data/performance4x4.png A5/data/cornell1-AA.gr A5/data/cornell1-AA.gr A5/data/cornell1.gr A5/data/cornell1.gr A5/data/performance5x5.png A5/data/performance5x5.png A5/data/cornell2.gr A5/data/cornell2.gr A5/data/dof.gr A5/data/dof.gr A5/data/nodof.gr A5/data/nodof.gr A5/data/final.gr A5/data/final.gr A5/data/nodof.png A5/data/nodof.png A5/README A5/README A5/grsh A5/grsh

The Rendering Equation and Path Tracing

The Rendering Equation and Path Tracing The Rendering Equation and Path Tracing Louis Feng April 22, 2004 April 21, 2004 Realistic Image Synthesis (Spring 2004) 1 Topics The rendering equation Original form Meaning of the terms Integration Path

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

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS380: Computer Graphics Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection

More information

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University A Brief Overview of Global Illumination Thomas Larsson, Afshin Ameri Mälardalen University 1 What is Global illumination? Global illumination is a general name for realistic rendering algorithms Global

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

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye Ray Tracing What was the rendering equation? Motivate & list the terms. Relate the rendering equation to forward ray tracing. Why is forward ray tracing not good for image formation? What is the difference

More information

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1 MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1 Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks

More information

Ray tracing. EECS 487 March 19,

Ray tracing. EECS 487 March 19, Ray tracing EECS 487 March 19, 2007 http://radsite.lbl.gov/radiance/book/ 1 Conventional pipeline (rasterization) For each triangle Compute lighting at vertices For each pixel within triangle Compute interpolated

More information

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics Announcements Assignment 4 will be out later today Problem Set 3 is due today or tomorrow by 9am in my mail box (4 th floor NSH) How are the machines working out? I have a meeting with Peter Lee and Bob

More information

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016

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

More information

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura Computer Graphics Lecture 13 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Announcements. Written Assignment 2 out (due March 8) Computer Graphics Announcements Written Assignment 2 out (due March 8) 1 Advanced Ray Tracing (Recursive) Ray Tracing Antialiasing Motion Blur Distribution Ray Tracing Ray Tracing and Radiosity Assumptions Simple shading

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

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

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

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity Schedule Review Session: Tuesday November 18 th, 7:30 pm, Room 2-136 bring lots of questions! MIT 6.837 Monte-Carlo Ray Tracing Quiz 2: Thursday November 20 th, in class (one weeks from today) MIT EECS

More information

Raytracing CS148 AS3. Due :59pm PDT

Raytracing CS148 AS3. Due :59pm PDT Raytracing CS148 AS3 Due 2010-07-25 11:59pm PDT We start our exploration of Rendering - the process of converting a high-level object-based description of scene into an image. We will do this by building

More information

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283 Acknowledgements and many slides courtesy: Thomas Funkhouser, Szymon

More information

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Distribution Ray-Tracing. Programação 3D Simulação e Jogos

Distribution Ray-Tracing. Programação 3D Simulação e Jogos Distribution Ray-Tracing Programação 3D Simulação e Jogos Bibliography K. Suffern; Ray Tracing from the Ground Up, http://www.raytracegroundup.com Chapter 4, 5 for Anti-Aliasing Chapter 6 for Disc Sampling

More information

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Photon Mapping. Michael Doggett Department of Computer Science Lund university Photon Mapping Michael Doggett Department of Computer Science Lund university Outline Photon Mapping (ch. 14 in textbook) Progressive Stochastic 2011 Michael Doggett How to make light sampling faster?

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

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

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates

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

Lecture 18: Primer on Ray Tracing Techniques

Lecture 18: Primer on Ray Tracing Techniques Lecture 18: Primer on Ray Tracing Techniques 6.172: Performance Engineering of Software Systems Joshua Slocum November 16, 2010 A Little Background Image rendering technique Simulate rays of light - ray

More information

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate? Monte-Carlo Ray Tracing Antialiasing & integration So far, Antialiasing as signal processing Now, Antialiasing as integration Complementary yet not always the same in particular for jittered sampling Image

More information

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15 Computer Graphics Lecture 10 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

Korrigeringar: An introduction to Global Illumination. Global Illumination. Examples of light transport notation light

Korrigeringar: An introduction to Global Illumination. Global Illumination. Examples of light transport notation light An introduction to Global Illumination Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Korrigeringar: Intel P4 (200): ~42M transistorer Intel P4 EE (2004): 78M

More information

EECS 487: Interactive Computer Graphics

EECS 487: Interactive Computer Graphics Ray Tracing EECS 487: Interactive Computer Graphics Lecture 29: Distributed Ray Tracing Introduction and context ray casting Recursive ray tracing shadows reflection refraction Ray tracing implementation

More information

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects Basic Ray Tracing Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as

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

Photon Mapping. Due: 3/24/05, 11:59 PM

Photon Mapping. Due: 3/24/05, 11:59 PM CS224: Interactive Computer Graphics Photon Mapping Due: 3/24/05, 11:59 PM 1 Math Homework 20 Ray Tracing 20 Photon Emission 10 Russian Roulette 10 Caustics 15 Diffuse interreflection 15 Soft Shadows 10

More information

GAMES Webinar: Rendering Tutorial 2. Monte Carlo Methods. Shuang Zhao

GAMES Webinar: Rendering Tutorial 2. Monte Carlo Methods. Shuang Zhao GAMES Webinar: Rendering Tutorial 2 Monte Carlo Methods Shuang Zhao Assistant Professor Computer Science Department University of California, Irvine GAMES Webinar Shuang Zhao 1 Outline 1. Monte Carlo integration

More information

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017 Anti-aliasing and Monte Carlo Path Tracing Brian Curless CSE 557 Autumn 2017 1 Reading Required: Marschner and Shirley, Section 13.4 (online handout) Pharr, Jakob, and Humphreys, Physically Based Ray Tracing:

More information

Local vs. Global Illumination & Radiosity

Local vs. Global Illumination & Radiosity Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading

More information

Anti-aliasing and Monte Carlo Path Tracing

Anti-aliasing and Monte Carlo Path Tracing Reading Required: Anti-aliasing and Monte Carlo Path Tracing Brian Curless CSE 557 Autumn 2017 Marschner and Shirley, Section 13.4 (online handout) Pharr, Jakob, and Humphreys, Physically Based Ray Tracing:

More information

Computer Graphics Project

Computer Graphics Project Computer Graphics Project Distributed Ray Tracing Jakub Cupisz Michael Friis Lippert Abstract As a topic of our project we have chosen Distributed Ray Tracing. It uses Monte Carlo integration to solve

More information

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project To do Continue to work on ray programming assignment Start thinking about final project Lighting Course Outline 3D Graphics Pipeline Modeling (Creating 3D Geometry) Mesh; modeling; sampling; Interaction

More information

Lighting and Shading

Lighting and Shading Lighting and Shading Today: Local Illumination Solving the rendering equation is too expensive First do local illumination Then hack in reflections and shadows Local Shading: Notation light intensity in,

More information

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination Global Illumination Why Global Illumination Last lecture Basic rendering concepts Primitive-based rendering Today: Global illumination Ray Tracing, and Radiosity (Light-based rendering) What s Global Illumination

More information

CS 325 Computer Graphics

CS 325 Computer Graphics CS 325 Computer Graphics 04 / 02 / 2012 Instructor: Michael Eckmann Today s Topics Questions? Comments? Illumination modelling Ambient, Diffuse, Specular Reflection Surface Rendering / Shading models Flat

More information

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL: CS580: Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/gcg/ Recursive Ray Casting Gained popularity in when Turner Whitted (1980) recognized that recursive ray casting could

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

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

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination Raytracing & Epsilon intersects light @ t = 25.2 intersects sphere1 @ t = -0.01 & Monte Carlo Ray Tracing intersects sphere1 @ t = 10.6 Solution: advance the ray start position epsilon distance along the

More information

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS SESSION 15 RAY TRACING 1 Announcements Programming Assignment 3 out today - overview @ end of the class Ray Tracing 2 Lecture Overview Review of last class Ray Tracing 3 Local

More information

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ] CSCI 420 Computer Graphics Lecture 15 Ray Tracing Ray Casting Shadow Rays Reflection and Transmission [Ch. 13.2-13.3] Jernej Barbic University of Southern California 1 Local Illumination Object illuminations

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

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Programming For this assignment you will write a simple ray tracer. It will be written in C++ without

More information

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017 Anti-aliasing and Monte Carlo Path Tracing Brian Curless CSE 457 Autumn 2017 1 Reading Required: Marschner and Shirley, Section 13.4 (online handout) Further reading: Pharr, Jakob, and Humphreys, Physically

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

CS 465 Program 5: Ray II

CS 465 Program 5: Ray II CS 465 Program 5: Ray II out: Friday 2 November 2007 due: Saturday 1 December 2007 Sunday 2 December 2007 midnight 1 Introduction In the first ray tracing assignment you built a simple ray tracer that

More information

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662 Monte Carlo Ray Tracing Computer Graphics CMU 15-462/15-662 TODAY: Monte Carlo Ray Tracing How do we render a photorealistic image? Put together many of the ideas we ve studied: - color - materials - radiometry

More information

Interactive Methods in Scientific Visualization

Interactive Methods in Scientific Visualization Interactive Methods in Scientific Visualization GPU Volume Raycasting Christof Rezk-Salama University of Siegen, Germany Volume Rendering in a Nutshell Image Plane Eye Data Set Back-to-front iteration

More information

Specular reflection. Lighting II. Snell s Law. Refraction at boundary of media

Specular reflection. Lighting II. Snell s Law. Refraction at boundary of media Specular reflection Lighting II CS 465 Lecture 19 Smooth surfaces of pure materials have ideal specular reflection (said this before) Metals (conductors) and dielectrics (insulators) behave differently

More information

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015 Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015 What is rendering? Generating an image from a 3D scene model Ingredients Representation of 3D geometry Specification for camera & lights

More information

CS 4620 Program 4: Ray II

CS 4620 Program 4: Ray II CS 4620 Program 4: Ray II out: Tuesday 11 November 2008 due: Tuesday 25 November 2008 1 Introduction In the first ray tracing assignment you built a simple ray tracer that handled just the basics. In this

More information

782 Schedule & Notes

782 Schedule & Notes 782 Schedule & Notes Tentative schedule - subject to change at a moment s notice. This is only a guide and not meant to be a strict schedule of how fast the material will be taught. The order of material

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

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

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping Advanced Graphics Path Tracing and Photon Mapping Part 2 Path Tracing and Photon Mapping Importance Sampling Combine importance sampling techniques Reflectance function (diffuse + specular) Light source

More information

Monte Carlo Ray-tracing and Rendering

Monte Carlo Ray-tracing and Rendering ITN, Norrko ping February 3, 2012 Monte Carlo Ray-tracing and Rendering P ROJECT IN A DVANCED G LOBAL I LLUMINATION AND R ENDERING TNCG15 Authors: Henrik Ba cklund Niklas Neijman Contact: henba892@student.liu.se

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 10: Ground Truth Welcome! Today s Agenda: Limitations of Whitted-style Ray Tracing Monte Carlo Path Tracing INFOGR Lecture 10 Ground Truth

More information

Motivation: Monte Carlo Path Tracing. Sampling and Reconstruction of Visual Appearance. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Motivation: Monte Carlo Path Tracing. Sampling and Reconstruction of Visual Appearance. Monte Carlo Path Tracing. Monte Carlo Path Tracing Sampling and Reconstruction of Visual Appearance CSE 274 [Winter 2018], Lecture 4 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir Motivation: Key application area for sampling/reconstruction Core method

More information

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic

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

11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm

11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm Comuter Grahics Global Illumination: Monte-Carlo Ray Tracing and Photon Maing Lecture 11 In the last lecture We did ray tracing and radiosity Ray tracing is good to render secular objects but cannot handle

More information

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map

Part I The Basic Algorithm. Principles of Photon Mapping. A two-pass global illumination method Pass I Computing the photon map Part I The Basic Algorithm 1 Principles of A two-pass global illumination method Pass I Computing the photon map A rough representation of the lighting in the scene Pass II rendering Regular (distributed)

More information

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading Visual cues to 3D geometry Light Reflection and Advanced Shading size (perspective) occlusion shading CS 4620 Lecture 17 1 2 Shading Recognizing materials Variation in observed color across an object strongly

More information

Motivation. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Motivation. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing Advanced Computer Graphics (Spring 2013) CS 283, Lecture 11: Monte Carlo Path Tracing Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/sp13 Motivation General solution to rendering and global illumination

More information

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces) Photon Mapping 1/36 Photon Maps The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces) As opposed to the radiosity method that stores information on surface

More information

Illumination Algorithms

Illumination Algorithms Global Illumination Illumination Algorithms Digital Lighting and Rendering CGT 340 The goal of global illumination is to model all possible paths of light to the camera. Global Illumination Global illumination

More information

The Rendering Equation & Monte Carlo Ray Tracing

The Rendering Equation & Monte Carlo Ray Tracing Last Time? Local Illumination & Monte Carlo Ray Tracing BRDF Ideal Diffuse Reflectance Ideal Specular Reflectance The Phong Model Radiosity Equation/Matrix Calculating the Form Factors Aj Ai Reading for

More information

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading:

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading: Reading Required: Watt, sections 10.6,14.8. Further reading: 8. Distribution Ray Tracing A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] Robert L. Cook, Thomas Porter,

More information

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017 Computer Graphics Si Lu Fall 2017 http://web.cecs.pdx.edu/~lusi/cs447/cs447_547_comp uter_graphics.htm 11/22/2017 Last time o Splines 2 Today o Raytracing o Final Exam: 14:00-15:30, Novermber 29, 2017

More information

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Global Illumination 1 Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd What s wrong with raytracing? Soft shadows are expensive Shadows

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

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing Real-Time High Quality Rendering CSE 274 [Fall 2015], Lecture 5 Tour of Modern Offline Rendering To Do Project milestone (1-2 pages), final project proposal Due on Oct 27 Please get in touch with me if

More information

CS-184: Computer Graphics. Administrative

CS-184: Computer Graphics. Administrative CS-184: Computer Graphics Lecture #10: Raytracing Prof. James O Brien University of California, Berkeley V2005-10-1.1 Administrative Prof. O Brien away this Thursday and Friday Available after class today

More information

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction Effects needed for realism Global Rendering Computer Graphics 1, Fall 2005 Lecture 7 4th ed.: Ch 6.10, 12.1-12.5 Shadows Reflections (Mirrors) Transparency Interreflections Detail (Textures etc.) Complex

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

Recursion and Data Structures in Computer Graphics. Ray Tracing

Recursion and Data Structures in Computer Graphics. Ray Tracing Recursion and Data Structures in Computer Graphics Ray Tracing 1 Forward Ray Tracing imagine that you take a picture of a room using a camera exactly what is the camera sensing? light reflected from the

More information

Rendering. Mike Bailey. Rendering.pptx. The Rendering Equation

Rendering. Mike Bailey. Rendering.pptx. The Rendering Equation 1 Rendering This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu Rendering.pptx d i d 0 P P d i The Rendering

More information

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. 11 11.1 Basics So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. Global models include incident light that arrives

More information

Photon Mapping. Kadi Bouatouch IRISA

Photon Mapping. Kadi Bouatouch IRISA Kadi Bouatouch IRISA Email: kadi@irisa.fr 1 Photon emission and transport 2 Photon caching 3 Spatial data structure for fast access 4 Radiance estimation 5 Kd-tree Balanced Binary Tree When a splitting

More information

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11. Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

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

Physically Realistic Ray Tracing

Physically Realistic Ray Tracing Physically Realistic Ray Tracing Reading Required: Watt, sections 10.6,14.8. Further reading: A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] Robert L. Cook, Thomas Porter,

More information

TDA361/DIT220 Computer Graphics, January 15 th 2016

TDA361/DIT220 Computer Graphics, January 15 th 2016 TDA361/DIT220 Computer Graphics, January 15 th 2016 EXAM (Same exam for both CTH- and GU students) Friday January 15 th, 2016, 8.30 12.30 Examiner Ulf Assarsson, tel. 0701-738535 Permitted Technical Aids

More information

Recent Advances in Monte Carlo Offline Rendering

Recent Advances in Monte Carlo Offline Rendering CS294-13: Special Topics Lecture #6 Advanced Computer Graphics University of California, Berkeley Monday, 21 September 2009 Recent Advances in Monte Carlo Offline Rendering Lecture #6: Monday, 21 September

More information

Ray Tracing Part 2. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar

Ray Tracing Part 2. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar Ray Tracing Part 2 CSC418/2504 Introduction to Computer Graphics TA: Muhammed Anwar Email: manwar@cs.toronto.edu Overview Raytracing Recap FAQ/Conventions for A3/A4 Advanced Ray Tracing Features Soft Shadows

More information

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Distribution Ray Tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 10.6,14.8. Further reading: A. Glassner. An Introduction to Ray

More information

Project 3 Path Tracing

Project 3 Path Tracing Project 3 Path Tracing CSE 168: Rendering Algorithms, Spring 2017 Description Add antialiasing and path tracing of diffuse surfaces and Fresnel metals to your renderer. Project 3 is due by 5:00 pm, Wednesday

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

Computer Graphics. - Ray Tracing I - Marcus Magnor Philipp Slusallek. Computer Graphics WS05/06 Ray Tracing I

Computer Graphics. - Ray Tracing I - Marcus Magnor Philipp Slusallek. Computer Graphics WS05/06 Ray Tracing I Computer Graphics - Ray Tracing I - Marcus Magnor Philipp Slusallek Overview Last Lecture Introduction Today Ray tracing I Background Basic ray tracing What is possible? Recursive ray tracing algorithm

More information

Choosing the Right Algorithm & Guiding

Choosing the Right Algorithm & Guiding Choosing the Right Algorithm & Guiding PHILIPP SLUSALLEK & PASCAL GRITTMANN Topics for Today What does an implementation of a high-performance renderer look like? Review of algorithms which to choose for

More information

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity Today Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2 Sampling Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground

More information