Monte Carlo Path Tracing
|
|
- Catherine Ramsey
- 8 years ago
- Views:
Transcription
1 HELSINKI UNIVERSITY OF TECHNOLOGY Telecommunications Software and Multimedia Laboratory Tik Seminar on Computer Graphics Spring 2002: Advanced Rendering Techniques Monte Carlo Path Tracing Petri Häkkinen 46561N
2 Monte Carlo Path Tracing Petri Häkkinen HUT, Telecommunications Software and Multimedia Laboratory Abstract This paper describes the Monte Carlo path tracing algorithm which is used to solve global illumination problems in computer graphics. The theoretical foundation of the algorithm is discussed starting from the rendering equation and leading to the concept of light paths. Various implementation details such as pixel filtering, Russian roulette and distributing directions on the hemisphere are discussed. Two extensions to the basic path tracing algorithm are also briefly introduced. These extensions are bidirectional path tracing and Metropolis light transport. Finally we discuss a path tracer that has been implemented using some of the techniques presented in this paper. 1 INTRODUCTION 1.1 The global illumination problem The term global illumination refers to physically correct simulation of light scattering in a synthetic environment. A global illumination algorithm transforms an initial data set consisting of 3D models, material properties, light sources and a virtual camera into a set of discrete lighting values. These lighting values are typically recorded as pixels in the output image but other uses are possible such as pre-rendered lightmaps in a video game. In comparison to local illumination algorithms, which handle only a single light bounce from a surface, a global illumination algorithm needs to trace light rays traveling through the scene via bounces at multiple surfaces. 1.2 Model of light In this paper we assume that the light model is based on ray optics so that light travels in straight paths and reflections can be handled using a set of geometric rules. This model does not handle participating media and smoothly varying index of refraction. For example, air does not have a constant index of refraction and light rays actually bend when traveling through the atmosphere. Also phenomena based on wave optics such as diffraction and interference are ignored. 1
3 1.3 From classical ray tracing to path tracing Whitted's classical ray tracing algorithm [8] works by tracing light rays in a 3D scene. For each pixel in the output image, a ray is shot from the camera through the pixel into the scene and the intersection point with the nearest object is calculated. At the point of intersection direct lighting is evaluated and the ray is split into reflected and refracted components and those are recursively traced into the scene. Lights in Whitted's model are considered to be points that radiate energy uniformly in all directions. For each light source a shadow ray is shot from the point of intersection to the light source. If the shadow ray is unblocked, direct illumination is calculated and accumulated, otherwise the intersection point is considered to be in shadow for that particular light. Ray traced images suffer from several artifacts: shadows and reflections are unnaturally sharp, indirect lighting is not handled etc. Distributed ray tracing [4] attempts to alleviate some of the problems by adding support for proper antialising, soft shadows, blurred reflections, motion blur and depth of field. A distributed ray tracer like the name suggests, distributes rays using Monte Carlo techniques. Cook uses 16 rays per pixel and distributes them over the pixel area (pixel antialising), camera lens (depth of field) and time (motion blur). Because rays are distributed randomly this results in a powerful antialising scheme which trades aliasing for noise. Lights are considered to have an area. Random sampling points are selected on the light surface for tracing shadow rays. Blurred reflections are handled by distributing the reflected ray direction. Distributed ray tracing is an elegant algorithm that can produce near photorealistic images. However, indirect illumination is still not handled properly. Path tracing is a physically correct stochastic method for calculating global illumination using Monte Carlo techniques. It borrows many aspects from distributed ray tracing and it is quite easy to convert an existing distributed ray tracer to a full path tracer. 1.4 Organization of the paper In chapters 2 and 3 we develop the theoretical basis for path tracing beginning from the rendering equation and leading to the concept of light paths. Basic Monte Carlo integration and some variance reduction schemes are also discussed here. Chapter 4 describes various implementation details. Chapter 5 briefly introduces some extensions to the basic algorithm. Chapter 6 concludes with some results from the path tracer implemented by the author. 2 SOLVING THE RENDERING EQUATION 2.1 Kajiya's rendering equation In 1986 James T. Kajiya presented an equation that unified the light transport problem [6]. Prior to that, the Utah approximation, recursive ray tracing and radiosity [3] methods all solved a single problem whose solutions seemed unrelated but which all attempt to model the same phenomenon. The term Utah approximation is borrowed from Kajiya and refers to the standard local illumination method. 2
4 The rendering equation [6] couples the outgoing radiance of a surface to the emitted and reflected radiance. This energy balance can be expressed as: L o (x,ω) = L e (x,ω) + L r (x,ω) (1) where L o, L e and L r are the outgoing, emitted and reflected radiance. L r is affected by other surfaces since reflected light travels from surface to surface in the scene. L r can be written as: L r (x,ω) = f r (x, ω(x,x'),x'),ω) L o (x', ω(x',x)) G(x,x') (2) The integral is taken over all surface points x'. The BRDF f r (x,ω,ω') is a reflection distribution function that gives the reflection coefficient for light coming from direction ω being reflected to direction ω'. Direction vectors ω and ω' point outward from the surface. An important property of the BRDF is that it is symmetric. That is, the following property holds: f r (x,ω,ω') = f r (x,ω',ω). G is the geometric function which relates two differential area surfaces exchanging light energy (see figure 1). It is composed of three terms: the cosine term, the distance term, and the visibility term. The cosine term depends on the relative orientation of the surfaces and is cos(θ i ) cos(θ o ). Figure 1. The geometric function The visibility term is 0 if there is no visibility from x' to x, or 1 if the path is unoccluded. In the case of transparent occluder surfaces the visibility term is somewhere in the range [0,1]. The distance term is simply 1/r 2 where r is the distance from x' to x. Combining all the terms, G can be written as: (3) where V is the visibility term. Substituting L r into the energy balance equation results in the following equation: 3
5 L o (x,ω) = L e (x,ω) + f r (x,ω(x,x'),x'),ω) L o (x',ω(x',x)) G(x,x') (4) This is the rendering equation [6]. An algorithm that fully implements this equation solves the global illumination problem and this is the main goal of a path tracer. Radiosity [3] and ray tracing algorithms particularly solve only a specific part of the equation. Note that the integral is taken over all surfaces and that the unknown L o appears inside the integral. This recursive nature makes the rendering equation problematic to solve. 2.2 Path integrals A path tracer solves the rendering equation in a special form that is often referred to as the path integral form. The idea is to recursively substitute L o on the right side of the rendering equation with the equation itself. This results in rather lengthy expressions, so in order to simplify the notation we define an operator T which maps to the integral expression in the rendering equation. The rendering equation in the operator form is: L = E + T L (5) Here we have also replaced L o by L and L e by E. Recursive evaluation of this gives the following infinite Neumann series: L = E+T(E+TL) = = E+TE+T 2 E+T 3 E+... = (6) where TE represents the light scattered once, T 2 E light scattered twice, and so forth. According to [5, p.30] the rendering equation can be similarly converted to the path form: (7) where ω = x -1 - x 0 and K(x'',x',x) = f r (x'',x',x) G(x'',x'). Each integral is taken over all surface locations in the scene. For k = 0 the outgoing radiance is simply the emitted radiance. For k = 1 there is a single integral over all possible surface locations. This gathers light scattered once with all possible ways. Similarly for k = 2, we have two integrals and light that has been scattered at two locations is gathered. Equation 8 represents the sum of all light paths of length k. A light path is a set of vertices forming a connected line from the emitting surface to the receiver. For rendering purposes the receiver is often the surface that is hit by the primary ray. The total contribution for the primary ray is integrated over all possible light paths. All possible surface positions and path lengths need to be considered. However, all light paths do not contribute the same amount of radiance to the final integral because of different geometry and reflection terms and non-uniform distribution of light energy. 4
6 Perhaps the most dramatic difference between a traditional ray tracer and a path tracer is the fact that a path tracer never splits the ray while a standard recursive raytracer splits the ray into reflection and refraction components at intersection points. Kajiya argues that a typical ray tracer concentrates an increasing amount of computation power on deeper recursion levels. This is clearly illogical since those deep branches of the ray tree contribute less to the final image because of the accumulation of geometry and reflection terms. 3 MONTE CARLO INTEGRATION 3.1 The sample mean method As seen in the previous chapter, problems in computer graphics often require solving multidimensional integrals that are very hard or even impossible to solve using analytic integration or quadrature rules. Particularly in path tracing we must integrate over all surface locations and possibly over time if motion blurring is desired. Monte Carlo integration approximates the value of the integral by sampling the function at random locations. These random locations are often distributed non-evenly concentrating more samples on the areas of interest where the slope of the function is steep. Such areas are for example shadow boundaries and small bright areas in the hemisphere. The sample mean method samples the function randomly and estimates the integral by calculating the sample mean and multiplying it with the length of the interval. For onedimensional functions this is equivalent of approximating the integral with a rectangle of width equal to the length of the interval and height equal to the sample mean. Given a one dimensional function f(x) and uniformly distributed random numbers ξ 1... ξ N in the range [a,b], the Monte Carlo estimate of the integral is given by: (8) As the number of samples N is increased, the estimate M becomes more accurate. With an infinite number of samples, M becomes the integral. The ability to trade image quality for speed is important for the users of the rendering system so that they can generate preview quality renderings fast. With Monte Carlo integration this is easily controlled with the variable N. The convergence speed of the integral is a very important factor in computer graphics since performance is always the issue. Especially production renderers used for motion pictures must be fast [1]. 3.2 Variance reduction Images rendered with Monte Carlo techniques typically appear noisy. The noise is due to variance σ 2 in the integral estimate. Given an integral estimate M, the variance is the squared distance between M and the correct result that we would get by analytic 5
7 integration. Standard deviation σ is typically used as the error metric for the integral. According to [5, p. 154] the standard deviation for the Monte Carlo integral is proportional to 1/ N. Thus in order to halve the error, one must use four times more samples. This is computationally very expensive, but fortunately this can be improved using variance reduction schemes. Perhaps the simplest and most applicable variance reduction scheme is known as stratified sampling. The domain is split into N subdomains, and one sample point is placed randomly inside each subdomain. The standard deviation of stratified sampling is proportional to 1/N which is clearly an improvement to 1/ N with random sampling. Stratified sampling should be used wherever applicable. Integrals related to computer graphics are often multidimensional so an obvious way to reduce variance is to reduce the dimensionality of the problem by solving one or several dimensions analytically. This is called the use of expected values. Importance sampling is perhaps the most intuitive variance reduction scheme. As the name suggests we simply concentrate more samples on the most important areas. In effect this means shooting more rays towards bright objects, boundary areas etc. We have to know some estimate of the integral beforehand in order to use this scheme. This estimate might be calculated in the preprocessing phase or adaptively as the algorithm proceeds. Importance sampling without normalization skews the results. Refer to [7] for more advanced discussion on the topic. Russian roulette [2] is a method for eliminating unnecessary work. Assume for example that a surface is emitting particles with power p. We would normally proceed by giving an emitted particle weight equal to p. However, using Russian roulette, a particle is emitted with full power but this emission happens only with a probability proportional to p. This is illustrated by the following pseudo-code: e = rand(); // e is a random number in the range [0,1] if( e < p ) // p is a probability in the range [0,1] emit with full power else do not emit Note that because Russian roulette effectively eliminates some of the samples, variance is increased but computational workload is reduced. 4 PATH TRACING 4.1 The path tracing algorithm The following is pseudo-code for a path tracer. Various details are discussed in the following sections. 6
8 render_image() for( each pixel ) color = 0; for( sample = 0; sample < sample_count; sample++ ) ray = pick_random_ray_at_pixel(); // see 4.2 pick_random_time(); // see 4.2 color = color + trace( ray ) / sample_count; trace( ray ) intersection_point = find_nearest_intersection( ray ); // see 4.4 gathered = 0; for( each light ) gathered = gathered + sample_light( intersection_point, light ); // see 4.5 ray = get_next_path_segment_or_terminate(); // see 4.6 and 4.7 return gathered + trace( ray ); 4.2 Preparing a path for tracing The image plane is defined by vectors u,v and ref where u and v are two perpendicular vectors defining the image plane and ref points to the first pixel on the image plane. Given an integer pixel coordinate (x,y) and two uniformly distributed and independent random numbers ξ 1 and ξ 2 in the range [0,1] the first generation ray direction is calculated by: r = ref + u ( x + ξ 1 ) / w + v ( y + ξ 2 ) / h c (9) where w and h are the respective width and height of the image plane in pixels and c is the camera position. Each ray should also be distributed in time or rendered animations reveal aliasing artifacts in the form of jerky and unnatural motion. Antialising in time is very important when synthetic images are composited with photographs or real film footage. Antialiasing in time is also called motion blur. A real camera takes a snapshot of the environment by opening the shutter for a certain small period of time. During this time the image in front of the lens is accumulated on the film. pick_random_time() in our path tracer skeleton should simply pick a random point in time in the interval [t 0,t 1 ], where t 0 is the time when the camera shutter opens and t 1 is the closing time. All motions in the scene should be updated according to this chosen point in time. Note that because objects tend to move much slower than the speed of light, this needs to be done only when starting a new path, not for each path segment. 4.3 Pixel filtering One way to implement pixel filtering is to just select a constant number of samples per pixel and uniformly distribute random samples on the pixel area. However this leads to sample clumping and gaps between samples as illustrated in figure 2a. If the number of samples per pixel is a power of two, it is easy to see that this can be improved by dividing the pixel area into a regular grid and placing one sample in each cell (figure 2b). This is called stratified or jittered sampling. 7
9 Even better sample distribution can be achieved using Poisson disc sampling (figure 2c). In Poisson disc sampling points that are closer to each other than a certain limit are disallowed. Poisson disc distribution can be generated by repeatedly picking a random candidate for the next sample point. The candidate is chosen as a sample point only if it satisfies the distance condition. This point is then stored and the algorithm proceeds to find the next point. a. b. c. Figure 2. Random, stratified and Poisson disc distributions. Each image contains 100 samples. Rendered images often contain noise concentrated on certain areas while some areas are almost free of noise. This suggests that samples should be concentrated on the noisier areas and leads to adaptive sampling schemes where the number of rays shot per pixel is no longer a constant. Unfortunately at least stratified sampling does not seem to be applicable with adaptive sampling since stratified sampling requires that the number of samples is known beforehand. Kajiya proposes using k-d trees which successively split the domain into two by a plane perpendicular to the coordinate axes. A simple approach would be to select some number of samples F that is a power of two and place those samples using stratified sampling. Then the pixel value is integrated. If the pixel is found out to need more sampling, we could place an additional F samples and estimate the error again and so forth. The number of rays to shoot should be based on the relative error which can be estimated using the standard deviation. For a set of samples x i the standard deviation σ is calculated as follows: where µ is the sample mean. If the standard deviation σ exceeds a certain user set limit the pixel needs more sampling. (10) 4.4 Intersection calculation The workhorse for any ray tracing algorithm is the core that calculates intersections. It is especially important for a path tracer that this core is as efficient as possible since rays shot per pixel can be several thousands. A path tracer like a standard ray tracer must find the nearest object intersected by a ray, as well as the intersection point and normal. 8
10 A number of acceleration schemes have been devised for ray tracing and they should be used for path tracing where applicable. Especially space division schemes such as octrees, bsp-trees and bounding volumes are useful. Complex objects should be enclosed in bounding volumes. If the ray does not intersect the bounding volume that particular object or a group of objects contained in the volume need not be tested against the ray. 4.5 Sampling light sources The classical ray tracing model only supports point lights. This results in lighting that is unnatural and particularly shadow boundaries are too sharp. Real lights always occupy a volume. Therefore it is much better to use area lights instead of point lights. Light energy can be gathered in Monte Carlo fashion by shooting a number of shadow rays from the point of interest (the intersection point) towards random point on the area light. Each unoccluded ray transfers light equally to a point light positioned on the sample point. It is important to select the right amount of shadow rays. Too few rays and the shadows will look grainy and too many leads to unnecessarily high rendering times. Several factors should be taken into account here. Naturally a large bright light needs more sampling than a small dim light. Also because far away lights contribute less, the number of shadow rays cast should be proportional to the projected area of the light source. Stratified sampling can be used for selecting random sample points on rectangular area lights. The code for sampling a single area light is outlined below: sample_light() light = 0; for( sample = 0; sample < sample_count; sample++ ) p = get_random_point(); if( test_visibility( intersection_point, p ) ) light = light + local_illumination() / sample_count; return light; 4.6 Russian roulette in path tracing Because a path tracer never splits a ray, reflections and refractions must be handled differently than in a standard ray tracer. Path tracer resorts to particle physics approximation and picks a random mode for each path segment. A ray can be reflected, transmitted or absorbed. If Phong reflection model is used, lighting is split into diffuse and specular components. 9
11 We can use Russian roulette to select a random mode for the ray as follows: d = probability of diffuse reflection s = probability of specular reflection t = probability of transmission e = rand(); // returns a random number in the range [0,1] if( e < d ) distribute the ray diffusely (Phong reflection model) else if( e < d + s ) distribute the ray specularly (Phong reflection model) else if( e < d + s + t ) transmission, calculate the refraction ray else terminate path Probabilities d, s and t are material properties for which the following condition must hold: d+s+t 1. It is important to remember that when using Russian roulette unlike in ray tracing we must not reduce the weight of the ray by multiplying with respective material coefficients. 4.7 Distributing the reflected ray direction One way to initialize the next path segment is to pick a ray direction that is uniformly distributed on the hemisphere. The weight of this ray should then be scaled by the BRDF. Given two uniformly distributed random numbers ξ 1 and ξ 2 in the range [0,1] the uniform distribution on the hemisphere can be generated by: (11) where (θ,φ) are the spherical coordinates for the ray. 5 EXTENSIONS TO THE BASIC ALGORITHM 5.1 Bidirectional path tracing Because of the nature of the light, it does not matter in which direction light paths are followed. While most lighting situations can be efficiently captured by tracing from the viewer and traversing towards the scene, certain cases with e.g. strong indirect lighting are better handled by tracing from the light sources towards the viewer. This suggests a more robust light transport algorithm which is a hybrid between forward and backward tracing. Bidirectional path tracing constructs a path starting from a light source and the viewer and connects them in the middle. More information about bidirectional path tracing can be found in [5] and [7]. 10
12 5.2 Metropolis light transport Metropolis light transport, as introduced by Eric Veach in 1997, is a new Monte Carlo approach for solving the rendering equation. Paths are constructed by selecting an initial light transport path which is then randomly mutated. A mutation might add a vertex to the path or otherwise change the path. A probability for the mutated path is then carefully chosen and the path is either accepted or rejected. Mutations that do not contribute to the final image or those that contribute very little are rejected. When an important path is found nearby paths are good candidates for further mutations. Metropolis light transport method can handle difficult lighting situations such as strong indirect lighting and small geometric holes and can be several magnitudes faster than standard path tracing algorithms. 6 RESULTS A path tracer was written using some of the techniques presented in this paper. The intersection calculation core was able to handle planes, spheres, boxes and triangles as primitive types as well as solid bsp-trees for complex models. Pixel filtering was done using stratified sampling. Poisson disc sampling was also tried but this didn t improve the image quality noticeably with the test scenes. Supported basic light source types were points and solid spheres. In addition a special sky light model was used. Lights were sampled using uniform random sampling. Material properties were the diffuse and specular colors and coefficients. These properties were used to setup probabilities for Russian roulette. Russian roulette was used to pick a random mode for each path segment. Reflected rays were distributed uniformly on the hemisphere and outgoing rays were weighted appropriately. Figure 3 contains images rendered using our path tracer. The first image consists of a bsp-tree (the cow) and a ground plane. A large spherical light illuminates the scene. The cow appears to be tinted red because some of the light bounces off the floor and hits the cow. The second image contains an enclosed room with a sphere standing on a pedestal. The pedestal is partly reflective. The scene is illuminated with a strong bluish light. The red color on the floor and the pedestal is reflected from a nearby wall behind the viewer. The bluish light is so strong that even a small percentage of the light reflecting off the red wall is enough to cast a red glow on the scene. 11
13 Figure 3. Images created using author s path tracer. Both images were rendered using 400 paths per pixel. Rendering time was about 3 hours for both images on a 233Mhz Intel Pentium II. ACKNOWLEDGEMENTS Many thanks to Jaakko Lehtinen, Eetu Martola and Mikko Kallinen for giving constructive criticism, discussing various implementation details and proofreading the paper. REFERENCES [1] Apocada A.A. and Gritz L Advanced RenderMan, San Diego, Ca. Academic Press. p. 12. [2] Arvo, J. and Kirk D. B Particle Transport and Image Synthesis. Proceedings of SIGGRAPH 90, August pp [3] Cohen M. F. and Wallace J. R Radiosity and Realistic Image Synthesis. San Diego, Ca. Academic Press. [4] Cook R. L.; Porter T.; Carpenter L Distributed ray tracing. Proceedings of SIGGRAPH 84, July 1984, pp [5] Jensen H. W Realistic Image Synthesis Using Photon Mapping. Natick, Massachusetts. A K Peters, Ltd. [6] Kajiya J. T The rendering equation. Proceedings of SIGGRAPH 86, August pp [7] Veach E Robust Monte Carlo methods for light transport simulation. PhD thesis, Stanford University. [8] Whitted T An improved illumination model for shaded display. Communications of the ACM. pp
Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura
Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping Lecture 15 Taku Komura In the previous lectures We did ray tracing and radiosity Ray tracing is good to render specular
More informationAn introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology
An introduction to Global Illumination Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Isn t ray tracing enough? Effects to note in Global Illumination image:
More informationCSE168 Computer Graphics II, Rendering. Spring 2006 Matthias Zwicker
CSE168 Computer Graphics II, Rendering Spring 2006 Matthias Zwicker Last time Global illumination Light transport notation Path tracing Sampling patterns Reflection vs. rendering equation Reflection equation
More informationPATH TRACING: A NON-BIASED SOLUTION TO THE RENDERING EQUATION
PATH TRACING: A NON-BIASED SOLUTION TO THE RENDERING EQUATION ROBERT CARR AND BYRON HULCHER Abstract. In this paper we detail the implementation of a path tracing renderer, providing a non-biased solution
More informationMonte Carlo Path Tracing
CS294-13: Advanced Computer Graphics Lecture #5 University of California, Berkeley Wednesday, 23 September 29 Monte Carlo Path Tracing Lecture #5: Wednesday, 16 September 29 Lecturer: Ravi Ramamoorthi
More informationSpecular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics
Specular reflection Dielectrics and Distribution in Ray Tracing CS 465 Lecture 22 Smooth surfaces of pure materials have ideal specular reflection (said this before) Metals (conductors) and dielectrics
More informationpath tracing computer graphics path tracing 2009 fabio pellacini 1
path tracing computer graphics path tracing 2009 fabio pellacini 1 path tracing Monte Carlo algorithm for solving the rendering equation computer graphics path tracing 2009 fabio pellacini 2 solving rendering
More informationPath Tracing. Michael Doggett Department of Computer Science Lund university. 2012 Michael Doggett
Path Tracing Michael Doggett Department of Computer Science Lund university 2012 Michael Doggett Outline Light transport notation Radiometry - Measuring light Illumination Rendering Equation Monte Carlo
More informationAdvanced Computer Graphics. Rendering Equation. Matthias Teschner. Computer Science Department University of Freiburg
Advanced Computer Graphics Rendering Equation Matthias Teschner Computer Science Department University of Freiburg Outline rendering equation Monte Carlo integration sampling of random variables University
More informationPHOTON mapping is a practical approach for computing global illumination within complex
7 The Photon Mapping Method I get by with a little help from my friends. John Lennon, 1940 1980 PHOTON mapping is a practical approach for computing global illumination within complex environments. Much
More informationINTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
More informationCS 431/636 Advanced Rendering Techniques"
CS 431/636 Advanced Rendering Techniques" Dr. David Breen" Korman 105D" Wednesday 6PM 8:50PM" Photon Mapping" 5/2/12" Slide Credits - UC San Diego Goal Efficiently create global illumination images with
More informationA Short Introduction to Computer Graphics
A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical
More informationComputer Animation: Art, Science and Criticism
Computer Animation: Art, Science and Criticism Tom Ellman Harry Roseman Lecture 12 Ambient Light Emits two types of light: Directional light, coming from a single point Contributes to diffuse shading.
More informationChapter 10. Bidirectional Path Tracing
Chapter 10 Bidirectional Path Tracing In this chapter, we describe a new light transport algorithm called bidirectional path tracing. This algorithm is a direct combination of the ideas in the last two
More informationDhiren Bhatia Carnegie Mellon University
Dhiren Bhatia Carnegie Mellon University University Course Evaluations available online Please Fill! December 4 : In-class final exam Held during class time All students expected to give final this date
More informationPhoton Mapping Made Easy
Photon Mapping Made Easy Tin Tin Yu, John Lowther and Ching Kuang Shene Department of Computer Science Michigan Technological University Houghton, MI 49931 tiyu,john,shene}@mtu.edu ABSTRACT This paper
More informationUsing Photorealistic RenderMan for High-Quality Direct Volume Rendering
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With
More informationMathematics for Global Illumination
Mathematics for Global Illumination Massimo Picardello Mathematics Department, University of Roma Tor Vergata Abstract and disclaimer This is a simple, almost naif approach to the mathematics of global
More informationCUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut
More informationThe RADIANCE Lighting Simulation and Rendering System
The RADIANCE Lighting Simulation and Rendering System Written by Gregory J. Ward Lighting Group Building Technologies Program Lawrence Berkeley Laboratory COMPUTER GRAPHICS Proceedings, Annual Conference
More informationA Ray Tracing Solution for Diffuse Interreflection
A Ray Tracing Solution for Diffuse Interreflection Gregory J. Ward Francis M. Rubinstein Robert D. Clear Lighting Systems Research Lawrence Berkeley Laboratory 1 Cyclotron Rd., 90-3111 Berkeley, CA 94720
More informationHow To Improve Efficiency In Ray Tracing
CS 563 Advanced Topics in Computer Graphics Russian Roulette - Sampling Reflectance Functions by Alex White Monte Carlo Ray Tracing Monte Carlo In ray tracing, use randomness to evaluate higher dimensional
More informationThea Omni Light. Thea Spot Light. Light setup & Optimization
Light setup In this tutorial we will learn how to setup lights inside Thea Studio and how to create mesh lights and optimize them for faster rendering with less noise. Let us have a look at the different
More informationOutdoor beam tracing over undulating terrain
Outdoor beam tracing over undulating terrain Bram de Greve, Tom De Muer, Dick Botteldooren Ghent University, Department of Information Technology, Sint-PietersNieuwstraat 4, B-9000 Ghent, Belgium, {bram.degreve,tom.demuer,dick.botteldooren}@intec.ugent.be,
More informationSkillsUSA 2014 Contest Projects 3-D Visualization and Animation
SkillsUSA Contest Projects 3-D Visualization and Animation Click the Print this Section button above to automatically print the specifications for this contest. Make sure your printer is turned on before
More informationVARIANCE REDUCTION TECHNIQUES FOR IMPLICIT MONTE CARLO SIMULATIONS
VARIANCE REDUCTION TECHNIQUES FOR IMPLICIT MONTE CARLO SIMULATIONS An Undergraduate Research Scholars Thesis by JACOB TAYLOR LANDMAN Submitted to Honors and Undergraduate Research Texas A&M University
More informationPath Tracing - Literature Research. Rick de Bruijne May 17, 2011
Path Tracing - Literature Research Rick de Bruijne May 17, 2011 1 Contents 1 Abstract 3 2 Natural Phenomena 4 2.1 Motion Blur....................................... 4 2.2 Fresnel..........................................
More informationOptical Design Tools for Backlight Displays
Optical Design Tools for Backlight Displays Introduction Backlights are used for compact, portable, electronic devices with flat panel Liquid Crystal Displays (LCDs) that require illumination from behind.
More informationSo, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle
So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle or ISS (International Space Station). No problem. Just
More informationA Theoretical Framework for Physically Based Rendering
Volume 13, (1994) number 2, pp. 97-107 A Theoretical Framework for Physically Based Rendering Eric P. Lafortune and Yves D. Willems Department of Computer Science, Katholieke Universiteit Leuven Celestijnenlaan
More informationREAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS
REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS Tommy Jensen, Mikkel S. Andersen, Claus B. Madsen Laboratory for Computer Vision and Media
More informationPath tracing everything. D.A. Forsyth
Path tracing everything D.A. Forsyth The Rendering Equation- 1 We can now write L o (x, ω o )=L e (x, ω o )+ Ω Angle between normal and incoming direction ρ bd (x, ω o, ω i )L i (x, ω i ) cos θ i dω i
More informationComputer Applications in Textile Engineering. Computer Applications in Textile Engineering
3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive
More informationVolumetric Path Tracing
Volumetric Path Tracing Steve Marschner Cornell University CS 6630 Spring 2012, 8 March Using Monte Carlo integration is a good, easy way to get correct solutions to the radiative transfer equation. It
More informationRendering Area Sources D.A. Forsyth
Rendering Area Sources D.A. Forsyth Point source model is unphysical Because imagine source surrounded by big sphere, radius R small sphere, radius r each point on each sphere gets exactly the same brightness!
More informationImage Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
More informationLezione 4: Grafica 3D*(II)
Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering
More informationABS 731 Lighting Design & Technology. Spring 2006
ABS 731 Lighting Design & Technology Spring 2006 AGI32 is used to predict the photometric performance of selected luminaires or daylight penetration in a simulated environment. The environments that can
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
More informationOne Step Closer to a Fully Realistic 3D World on the Consumer PC A White Paper on the 3dfx T-Buffer
Page 1 One Step Closer to a Fully Realistic 3D World on the Consumer PC A White Paper on the 3dfx T-Buffer 3D Effects, and Why They Matter This white paper focuses on a new, proprietary 3D rendering technology
More informationCOMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies
COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke
More informationIN previous chapters we assumed that all lighting interactions occurred at surfaces. In particular,
4 Light Transport in Participating Media Thus, if one is to be five times as distant, make it five times bluer. Leonardo Da Vinci, 1452 1519 IN previous chapters we assumed that all lighting interactions
More informationHunting Ghosts. For the development of imaging optical STRAY LIGHT ANALYSIS IN IMAGING OPTICS
Virtual prototype of the camera lens defined in [3]. Besides the lenses we model only those mechanical parts that potentially contribute the most to stray light Hunting Ghosts STRAY LIGHT ANALYSIS IN IMAGING
More informationIntroduction to Computer Graphics. Reading: Angel ch.1 or Hill Ch1.
Introduction to Computer Graphics Reading: Angel ch.1 or Hill Ch1. What is Computer Graphics? Synthesis of images User Computer Image Applications 2D Display Text User Interfaces (GUI) - web - draw/paint
More informationDeferred Shading & Screen Space Effects
Deferred Shading & Screen Space Effects State of the Art Rendering Techniques used in the 3D Games Industry Sebastian Lehmann 11. Februar 2014 FREESTYLE PROJECT GRAPHICS PROGRAMMING LAB CHAIR OF COMPUTER
More informationComputer-Generated Photorealistic Hair
Computer-Generated Photorealistic Hair Alice J. Lin Department of Computer Science, University of Kentucky, Lexington, KY 40506, USA ajlin0@cs.uky.edu Abstract This paper presents an efficient method for
More informationConvention Paper Presented at the 118th Convention 2005 May 28 31 Barcelona, Spain
Audio Engineering Society Convention Paper Presented at the 118th Convention 2005 May 28 31 Barcelona, Spain This convention paper has been reproduced from the author s advance manuscript, without editing,
More informationReflection and Refraction
Equipment Reflection and Refraction Acrylic block set, plane-concave-convex universal mirror, cork board, cork board stand, pins, flashlight, protractor, ruler, mirror worksheet, rectangular block worksheet,
More informationAnamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings
Anamorphic Projection Photographic Techniques for setting up 3D Chalk Paintings By Wayne and Cheryl Renshaw. Although it is centuries old, the art of street painting has been going through a resurgence.
More informationDesign, Analysis, and Optimization of LCD Backlight Unit using Ray Tracing Simulation
Design, Analysis, and Optimization of LCD Backlight Unit using Ray Tracing Simulation Joonsoo Choi 1, Kwang-Soo Hahn 1, Heekyung Seo 1, Seong-Cheol Kim 2 1 School of Computer Science, Kookmin University,
More informationTeaching Introductory Computer Graphics Via Ray Tracing
Teaching Introductory Computer Graphics Via Ray Tracing Helen H. Hu Westminster College, Salt Lake City, UT hhu@westminstercollege.edu Figure 1. Examples of student work. For fun, enthusiastic students
More informationCourse Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.
CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation
More informationComputer Animation of Extensive Air Showers Interacting with the Milagro Water Cherenkov Detector
Computer Animation of Extensive Air Showers Interacting with the Milagro Water Cherenkov Detector Miguel F. Morales Department of Physics, University of California, Santa Cruz, CA 95064, USA We employ
More informationMonte Carlo Ray Tracing
Monte Carlo Ray Tracing Siggraph 2003 Course 44 Tuesday, July 29, 2003 Organizer Henrik Wann Jensen University of California, San Diego Lecturers James Arvo University of California, Irvine Phil Dutre
More informationComputer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang
Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: c@csie.ntu.edu.tw Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang
More informationEfficient Illumination by High Dynamic Range Images
Eurographics Symposium on Rendering 23 Per Christensen and Daniel Cohen-Or (Editors) Efficient Illumination by High Dynamic Range Images Thomas Kollig 1 and Alexander Keller 2 1 Department of Computer
More informationIntroduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,
More informationInstructor. Goals. Image Synthesis Examples. Applications. Computer Graphics. Why Study 3D Computer Graphics?
Computer Graphics Motivation: Why do we study 3D Graphics? http://www.cs.ucsd.edu/~ravir Instructor http://www.cs.ucsd.edu/~ravir PhD Stanford, 2002. PhD thesis developed Spherical Harmonic Lighting widely
More informationMA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem
MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and
More informationGUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1
Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website
More informationSolving Simultaneous Equations and Matrices
Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering
More informationPHYS 39a Lab 3: Microscope Optics
PHYS 39a Lab 3: Microscope Optics Trevor Kafka December 15, 2014 Abstract In this lab task, we sought to use critical illumination and Köhler illumination techniques to view the image of a 1000 lines-per-inch
More informationIntroduction to acoustic imaging
Introduction to acoustic imaging Contents 1 Propagation of acoustic waves 3 1.1 Wave types.......................................... 3 1.2 Mathematical formulation.................................. 4 1.3
More informationCALCULATION OF CLOUD MOTION WIND WITH GMS-5 IMAGES IN CHINA. Satellite Meteorological Center Beijing 100081, China ABSTRACT
CALCULATION OF CLOUD MOTION WIND WITH GMS-5 IMAGES IN CHINA Xu Jianmin Zhang Qisong Satellite Meteorological Center Beijing 100081, China ABSTRACT With GMS-5 images, cloud motion wind was calculated. For
More informationCommon Core Unit Summary Grades 6 to 8
Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations
More informationLearning about light and optics in on-line general education classes using at-home experimentation.
Learning about light and optics in on-line general education classes using at-home experimentation. Jacob Millspaw, Gang Wang, and Mark F. Masters Department of Physics, Indiana University Purdue University
More informationSound Power Measurement
Sound Power Measurement A sound source will radiate different sound powers in different environments, especially at low frequencies when the wavelength is comparable to the size of the room 1. Fortunately
More informationEnhanced LIC Pencil Filter
Enhanced LIC Pencil Filter Shigefumi Yamamoto, Xiaoyang Mao, Kenji Tanii, Atsumi Imamiya University of Yamanashi {daisy@media.yamanashi.ac.jp, mao@media.yamanashi.ac.jp, imamiya@media.yamanashi.ac.jp}
More informationCHAPTER 3: DIGITAL IMAGING IN DIAGNOSTIC RADIOLOGY. 3.1 Basic Concepts of Digital Imaging
Physics of Medical X-Ray Imaging (1) Chapter 3 CHAPTER 3: DIGITAL IMAGING IN DIAGNOSTIC RADIOLOGY 3.1 Basic Concepts of Digital Imaging Unlike conventional radiography that generates images on film through
More informationUnderstanding astigmatism Spring 2003
MAS450/854 Understanding astigmatism Spring 2003 March 9th 2003 Introduction Spherical lens with no astigmatism Crossed cylindrical lenses with astigmatism Horizontal focus Vertical focus Plane of sharpest
More informationGraphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene.
Graphic Design Active Layer- When you create multi layers for your images the active layer, or the only one that will be affected by your actions, is the one with a blue background in your layers palette.
More informationBildverarbeitung und Mustererkennung Image Processing and Pattern Recognition
Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition 1. Image Pre-Processing - Pixel Brightness Transformation - Geometric Transformation - Image Denoising 1 1. Image Pre-Processing
More informationData Visualization Study at Earth Simulator Center
Chapter 4 Visualization Data Visualization Study at Earth Simulator Center Project Representative Akira Kageyama The Earth Simulator Center, Japan Agency for Marine-Earth Science and Technology Authors
More informationCork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC
Cork Education and Training Board Programme Module for 3 Dimensional Computer Graphics Leading to Level 5 FETAC 3 Dimensional Computer Graphics 5N5029 3 Dimensional Computer Graphics 5N5029 1 Version 3
More informationNEW MEXICO Grade 6 MATHEMATICS STANDARDS
PROCESS STANDARDS To help New Mexico students achieve the Content Standards enumerated below, teachers are encouraged to base instruction on the following Process Standards: Problem Solving Build new mathematical
More informationPath Tracing Overview
Path Tracing Overview Cast a ray from the camera through the pixel At hit point, evaluate material Determine new incoming direction Update path throughput Cast a shadow ray towards a light source Cast
More information4.430 Daylighting. Christoph Reinhart. 4.430 Daylight Simulations
4.430 Daylighting Christoph Reinhart 4.430 Daylight Simulations Massachusetts Institute of Technology Department of Architecture Building Technology Program 1 MISC Google DIVA forum, onebuilding.org, radianceonline.org
More informationCS 371 Project 5: Midterm Meta-Specification
CS 371 Project 5: Midterm Meta-Specification Preproduction Start: Thursday, September 30 1:00 pm Proposals Due: Wednesday, October 6 12:00 pm Description Due: Thursday, October 14 10:00 pm Production Start:
More informationEfficient Implementation of Bi-directional Path Tracer on GPU
Efficient Implementation of Bi-directional Path Tracer on GPU Bc. Vilém Otte Supervised by: RNDr. Marek Vinkler Ph.D. Faculty of Informatics Masaryk University Brno / Czech Republic Abstract Most of the
More informationMotion Graphs. It is said that a picture is worth a thousand words. The same can be said for a graph.
Motion Graphs It is said that a picture is worth a thousand words. The same can be said for a graph. Once you learn to read the graphs of the motion of objects, you can tell at a glance if the object in
More informationSelf-adjusting Importances for the Acceleration of MCBEND
Self-adjusting Importances for the Acceleration of MCBEND Edmund Shuttleworth Abstract The principal method of variance reduction in MCBEND is the use of splitting and Russian roulette under the control
More informationVisualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based)
Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf Flow Visualization Image-Based Methods (integration-based) Spot Noise (Jarke van Wijk, Siggraph 1991) Flow Visualization:
More informationApproval Sheet. Interactive Illumination Using Large Sets of Point Lights
Approval Sheet Title of Thesis: Interactive Illumination Using Large Sets of Point Lights Name of Candidate: Joshua David Barczak Master of Science, 2006 Thesis and Abstract Approved: Marc Olano Assistant
More informationAS COMPETITION PAPER 2008
AS COMPETITION PAPER 28 Name School Town & County Total Mark/5 Time Allowed: One hour Attempt as many questions as you can. Write your answers on this question paper. Marks allocated for each question
More informationInteractive Visualization of Magnetic Fields
JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 107-117 Interactive Visualization of Magnetic Fields Piotr Napieralski 1, Krzysztof Guzek 1 1 Institute of Information Technology, Lodz University
More informationDOING PHYSICS WITH MATLAB COMPUTATIONAL OPTICS RAYLEIGH-SOMMERFELD DIFFRACTION INTEGRAL OF THE FIRST KIND
DOING PHYSICS WITH MATLAB COMPUTATIONAL OPTICS RAYLEIGH-SOMMERFELD DIFFRACTION INTEGRAL OF THE FIRST KIND THE THREE-DIMENSIONAL DISTRIBUTION OF THE RADIANT FLUX DENSITY AT THE FOCUS OF A CONVERGENCE BEAM
More informationVALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203.
VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : III Year, V Semester Section : CSE - 1 & 2 Subject Code : CS6504 Subject
More informationVolume visualization I Elvins
Volume visualization I Elvins 1 surface fitting algorithms marching cubes dividing cubes direct volume rendering algorithms ray casting, integration methods voxel projection, projected tetrahedra, splatting
More informationThe Basics of Scanning Electron Microscopy
The Basics of Scanning Electron Microscopy The small scanning electron microscope is easy to use because almost every variable is pre-set: the acceleration voltage is always 15kV, it has only a single
More informationMMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations
MMGD0203 MULTIMEDIA DESIGN Chapter 3 Graphics and Animations 1 Topics: Definition of Graphics Why use Graphics? Graphics Categories Graphics Qualities File Formats Types of Graphics Graphic File Size Introduction
More informationBlender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
More informationCurves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?
Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons
More informationGeometry and Measurement
The student will be able to: Geometry and Measurement 1. Demonstrate an understanding of the principles of geometry and measurement and operations using measurements Use the US system of measurement for
More informationAdding Animation With Cinema 4D XL
Step-by-Step Adding Animation With Cinema 4D XL This Step-by-Step Card covers the basics of using the animation features of Cinema 4D XL. Note: Before you start this Step-by-Step Card, you need to have
More informationSpecific Intensity. I ν =
Specific Intensity Initial question: A number of active galactic nuclei display jets, that is, long, nearly linear, structures that can extend for hundreds of kiloparsecs. Many have two oppositely-directed
More informationanimation animation shape specification as a function of time
animation animation shape specification as a function of time animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency control typically
More informationSHOW MORE SELL MORE. Top tips for taking great photos
SHOW MORE SELL MORE Top tips for taking great photos TAKE BETTER PICTURES. SELL MORE STUFF. The more clear, crisp, quality pictures you show, the easier it is for buyers to find your listings and make
More informationCAUSTICS are complex patterns of shimmering
SCHOOL OF ENGINEERING AND COMPUTER SCIENCE, UNIVERSITY OF CENTRAL FLORIDA, CS TR 50-07 1 Caustics Mapping: An Image-space Technique for Real-time Caustics Musawir Shah, Sumanta Pattanaik Abstract In this
More information