The RADIANCE Photon Map Manual

Size: px
Start display at page:

Download "The RADIANCE Photon Map Manual"

Transcription

1 The RADIANCE Photon Map Manual Roland Schregle Fraunhofer Institute for Solar Energy Systems October 7, 2003 Revision : 1.7 Contents 1 Introduction 2 2 Overview of the Implementation Supported Primitives Optimisations Final Gather Bias Compensation Irradiance Thresholds Photon Ports Photon Distribution with mkpmap Distribution Algorithm Distribution Failure Runaway Photons Progress Report Command line arguments for mkpmap Querying the Photon Map with pmapinfo 14 5 Visual Examination with pmapdump 14 6 Photon Gathering with rpict Caustic Photon Visualisation Global Photon Visualisation Progress Report Command Line Arguments for rpict Bugs and Weirdness 18 8 Parameter Ranges 18 9 Troubleshooting 20 1

2 1 Introduction The RADIANCE rendering system [Ward94] is a very versatile and powerful tool for lighting simulation, and one of the very few physically based renderers with available source code. However, developments in light redirecting materials have presented new challenges in their simulation; their specular nature makes them difficult to simulate with RADIANCE, often merely resulting in a noisy mess. Some are downright impossible to simulate correctly with RADIANCE or bog the system down with high computational overhead. Particularly the phenomenon of caustics poses a serious problem for RADI- ANCE. Caustics are the bright, iridescent highlights on diffuse surfaces caused by specular reflection or refraction. A typical example is the cardioid pattern seen inside a cup or metal ring (figure 1). Quoting chapter 13 of Rendering with RADIANCE [Ward98], Other cases involving curved, specular reflectors pose similar difficulties for mkillum, and the only long-term solution seems to be the creation of a forward raytracing module for computing these kinds of illums. The problem is actually far more fundamental due to RADIANCE s backward raytracing methodology, and not restricted to mkillum alone. Figure 1: Photograph of metal ring caustic. RADIANCE s difficulties with sophisticated light redirecting materials necessitated the development of the forward raytracing module mentioned above as a supplementary algorithm. The photon map [Jens96, Jens97, Jens00] was chosen for a number of reasons: Apart from handling indirect diffuse illumination, it handles caustics efficiently and has become the algorithm of choice for this purpose. 2

3 It is straightforward to integrate into existing ray tracing environments. It is decoupled from the scene geometry and thus can handle arbitrarily complex objects, including procedural and even fractal ones. This also enables using the photon map to simulate indirect illumination in volumes, such as participating media [Jens98]. It represents a view independent solution to the indirect illumination and thus opens up the possiblity of interactive walkthroughs as with the Radiosity method. The photon map is based on a (light) particle transport simulation, which lends its name. Each photon interacts with the objects it strikes and is either reflected, transmitted, or absorbed, depending on the characteristics of the material. A Monte Carlo sampling method is used to generate the reflected or transmitted directions of a photon if it survives. Eventually a particle is terminated either by absorbtion or leakage (if it leaves the scene), and a new photon is emitted. 2 Overview of the Implementation The photon map algorithm comprises two steps: Photon distribution: as a preprocess, photons are emitted from all light sources and probabilistically reradiated or absorbed upon striking a surface or passing through a volume, depending on its properties. The result is a view independent representation of the indirect illumination (figure 2). Photon gathering: during the actual rendering, the indirect illumination for a point on a surface or within a volume is determined by finding a number of nearest photons to the point. The irradiance is then proportional to the photon density (figure 3). The distribution step is performed by the mkpmap utility. It is responsible for building the photon map and saving it to a file for subsequent reuse by rpict 1 for the actual rendering and photon gathering. Four photon types are available: Global photons account for all indirect (ambient) illumination incident on surfaces with a diffuse component. Caustic photons account for all indirect specular to diffuse transfers, i.e. caustics. These transport paths are also accounted for by global photons, but not visualised directly like caustics. Volume photons account for indirect illumination within participating media using the mist primitive. 1 Unless noted otherwise, rpict also implies its siblings rtrace and rview. 3

4 Figure 2: Global photon distribution in the Cornell box. Left: global and caustic photon paths during forward pass. Dots indicate stored photons, where blue represents global photons, and red represents caustic photons. Right: photon distribution after completion of forward pass. Note the concentration of caustic photons on the back wall reflected from the glass sphere. Ψ Ψ 5 2 Ψ Ψ 6 4 Ψ Ψ 3 1 x Figure 3: Gathering photons via nearest neighbour search. Direct photons account for the direct component from light sources and are only intended as a debugging option. Each photon type is stored in a separate photon map and visualised differently. The stock RADIANCE functionality (referred to here as RADIANCE Classic TM ) is preserved in rpict if no command line arguments pertaining to the photon map are given. When rendering with the photon map, the ambient calculation is augmentented by a photon map density estimate, but the direct and indirect specular components are still delivered by RADIANCE Classic. 2.1 Supported Primitives Material types in RADIANCE require additional code to probabilistically generate outgoing directions for incident photons using monte carlo methods. This has been 4

5 done for those materials with fixed BRDFs / BTDFs: Gaussian: plastic, metal, trans, plastic2, metal2, trans2 Refracting/Reflecting: glass, dielectric, interface, mirror Mixtures: mixfunc, mixdata Patterns: colorfunc, brightfunc, colordata, brightdata, colorpict Textures: texfunc, texdata Volumes: mist, antimatter Materials for user defined BRDFs / BTDFs such as plasfunc, metfunc, transfunc, brtdfunc, plasdata, metdata, and transdata are currently not supported due to the high sampling overhead in conjunction with the photon map. A wavelet representation is being developed for these. (But don t hold your breath...) In order for volume photons to function correctly with materials which modify the coefficient of extinction and scattering albedo (i.e. dielectric and interface), it is necessary to surround the light source(s) and viewpoint with a mist boundary (e.g. bubble), unless one intends to restrict volume photons to a small section of the scene. Participating media are essentially hacked into RADIANCE, and this calls for peculiar workarounds. In order to get volume caustics from light passing through an object, it must also be surrounded by a mist boundary. Alternatively, the mist parameters can be set globally on the command line, however this requires setting the source and viewpoint boundaries extinction to zero, otherwise extinction is accumulated. Furthermore, rpict only accounts for inscattering along rays of finite length, i.e. which intersect a local object. The scene therefore requires peripheral geometry to delineate a finite expanse of mist, e.g. a mist boundary for the entire scene. Confusing? Blame Greg! Light sources require additional code for photon emission. Currently supported primitives are light, spotlight, glow, and source. To ensure accurate distribution light source geometries are partitioned to a user specified resolution, and photons emitted from each partition. In the case of the source primitive there is no geometry to partition; instead, the scene cube faces are partitioned and act as emitters, unless photon ports are used (see section 2.2.4). The glow primitive acts as a regular light source. Virtual sources are disabled with the photon map, since caustic photons already account for these effects. Light sources may be modified by function files. During photon emission, the predefined variables passed to them (see rayinit.cal) are defined in terms of the photon origin on the light source: the emitted photon s direction Dx, Dy, and Dz points towards the photon origin Nx, Ny, and Nz is the normal on the light source surface at the photon origin Px, Py, and Pz is the emitted photon s origin 5

6 T and Ts are undefined Rdot is the dot product of the surface normal and the photon s direction at its origin. 2.2 Optimisations A number of optimisations have been incorporated into the implementation to either improve performance or accuracy. The user must be aware of the fact that most of these optimisations incur trade-offs; increasing performance will inevitably compromise accuracy, and vice versa. Such is the harsh reality of Monte Carlo Final Gather Per Christensen s final gather scheme [Chri00] has been integrated into the implementation and is available as an option to accelerate the global photon gathering step. Global photon irradiance is precomputed for a fraction of the photon positions and stored with the photons. This reduces the overhead of global photon lookups during the gathering phase; only the single closest global photon is retrieved, and its precomputed irradiance can be used directly (figure 4). However, final gather has the disadvantage of introducing bias to the solution for scenes with nonuniform indirect illumination. When accurate simulation is required it s best to forego this option. Final gather may also be combined with the bias compensating operator explained below. Figure 4: Radiance derived from precomputed global photon irradiance for final gather. Note the caustic from the glass sphere. 6

7 2.2.2 Bias Compensation The number of photons used for an irradiance estimate (also referred to as the estimate bandwidth) affords the user control over the quality and accuracy of the rendering by trading off between noise and bias. Setting this too low may result in excessive noise. Setting this too high may result in excessive blurring and local bias in the solution. To counter the bias/noise tradeoff, a bias compensating operator [Schr03] was developed and incorporated into the irradiance estimate as an option. Its purpose is to adapt the bandwidth within a user specified lower and upper bound. The operator employs a binary search for an optimal bandwidth based on the likelihood that deviations from a running average irradiance are due to noise or bias. This results in substantially improved contours in nonuniform indirect illumination (particularly caustics) with a slight increase in noise in these regions (figure 5). The operator also compensates boundary bias (darkening at polygon edges) and chromatic bias. However, this sophistication comes at a hefty price; performance will suffer severely under this operator Irradiance Thresholds Performance can be tweaked with the irradiance threshold parameter, which can be specified separately for each photon type. This is assumed to be the minimum visible irradiance contributed by the photon map. A maximum search radius for photon gathering is derived from this threshold based on the photon flux and the number of photons to gather. No photons beyond this radius will be searched, which can speed up the search dramatically. This of course presupposes some knowledge of the lighting levels in the scene on behalf of the user. Unfortunately, setting the threshold too high will result in frequent short gathers, finding fewer photons than requested. While this isn t tragic, it can introduce noise or banding. However, grossly overestimated thresholds can lead to the complete omission of low indirect illumination, which is unacceptable, except possibly for crude previews. With reasonable settings the artifacts are usually quite subtle while still yielding a performance gain. Caustics benefit most from this parameter, since they are only visible where the photons cluster, while the rest of the scene is sparse and therefore contributes negligible illumination Photon Ports Emitting photons from the source primitive presents a challenge; there is no local geometry associated with these distant sources. While the default behaviour is to emit photons from the scene cube faces, this can become highly inefficient for sources with large solid angles. These are infact situations for which a forward raytracer is fundamentally inappropriate. RADIANCE Classic s backward raytracer fares better here, since sending a ray to a large source is trivial. With the forward 7

8 Figure 5: Top: falsecolour rendering of severely biased caustic with a bandwidth of 5000 photons. The caustic should have an irradiance of 10 W/m 2. Bottom: falsecolour rendering of the same caustic with bias compensation using a bandwidth of photons. raytracer, the majority of emitted photons will be lost and won t contribute to the photon map. To aggravate the situation, distant sources are often used to render interior daylit spaces. With the viewer positioned inside, the few photons that actually strike the geometry must also pass through windows or skylights before they can even contribute visibly to the photon map. Needless to say, this amounts to abysmal performance. A simple workaround to the problem is the concept of photon ports. The ports are basically apertures through which photons can enter the space containing the viewpoint. These can be windows, skylights, but also invisible polygons within the scene (figure 6). There is a price to pay however, since this scheme requires user intervention. The user must define the port geometry and specify them according 8

9 to their modifiers. If the user places the ports intelligently, the photon loss factor will be reduced dramatically, resulting in a substantial increase in performance. Solar source Diffuse sky source Photon port Viewer Diffuse ground source Figure 6: Typical daylighting geometry with window as photon port for distant sources. All objects using the specified port modifiers act as ports during photon distribution. Photons are emitted directly from the ports rather than from the scene cube faces. The ports must be defined in the scene description such that the surface normals point outside. The incident flux from distant sources is evaluated at each port and the sources are checked for occlusion. However, no interreflection calculation is made; ports differ from illums in this respect. Photons are scattered by the port upon emission as if they had passed through it. In some cases ports may not coincide with any scene geometry. These situations call for invisible ports. Photons should be emitted from them, but they should not be affected by scattering through the port, and the port should not be visible during rendering. The simple solution is to define photon ports using the antimatter modifier, with void as its only string argument. Photon ports are the only optimisation in the implementation which do not compromise accuracy for performance, assuming the user knows what he/she/it is doing. It should also be noted that the photon port concept in the current release is a simple hack as an interim to a more sophisticated and flexible distribution method. Future implementations may use importance information for photon paths to yield more intelligent and efficient distribution, possibly even without user intervention. (Or not. Probably not.) 9

10 3 Photon Distribution with mkpmap The mkpmap utility accepts a RADIANCE octree as input and generates a photon map of each specified type for the scene. The photons are stored in a space subdividing data structure [Bent75] which facilitates nearest neighbour queries required for the gathering step. The data structure is written to a portable binary file for subsequent use by rpict. If a photon map with the specified file name already exists, mkpmap aborts without overwriting. The need for this protection stems from the frustration of having photon maps from very long previous distribution passes obliterated by the command line history! There is no clobber option; the files must be renamed or removed by hand. This is an annoyance, but better safe than sorry Distribution Algorithm The parametrisation of the distribution step is primarily intended to be user friendly; the user specifies the required number of photons stored in each map. These are treated as targets which the photon distribution code tries to attain, since there is no way of knowing the outcome of the distribution a priori. The distribution algorithm makes an educated guess at the number of photons it must emit in order to satisfy the targets. This is based on the results of a distribution prepass in which a small number of photons (a fraction of the minimum specified target) is emitted and distributed. Since the distribution process scales linearly, the remaining number of photons to emit can be predicted and distributed in the main pass. The actual number of photons generated after the distribution is complete will approximate the targets. 3.2 Distribution Failure The distribution step may bog down and terminate after a user specified number of distribution prepass attempts if any of the specified photon maps are still empty. This is usually an indication of a scene anomaly or an incompatible photon map specification. This is intended as a convenience for the user; without it, mkpmap would end up in an infinite loop. It is nevertheless the user s responsibility to specify compatible photon map types and to check the validity of the scene. The following situations can cause mkpmap to fail: pathological scenes in which none of the light sources see any geometry specifying a global photon map for a scene containing no materials with diffuse component specifying a caustic photon map for a scene containing no materials with diffuse or specular component specifying a volume photon map for a scene lacking the mist primitive. 10

11 3.3 Runaway Photons Photons may become trapped inside dielectric or interface materials, often due to infinite total reflection. These runaway photons are terminated after a user defined bounce limit is exceeded, and a warning is issued under the assumption that this is an anomaly of the scene geometry. 3.4 Progress Report If progress reports are enabled, mkpmap will report the following during distribution: where: N e emitted, N g global, N c caustic, N v volume, N d direct, P% after T hours, N e is the total number of emitted photons N g, N c, N v, and N d is the number of global, caustic, volume, and direct photons stored, respectively P is the percentage completed T is the time elapsed. When precomputing global photon irradiance a report will also be issued with the number of precomputed photons N p : N p precomputed, P% after T hours, If precomputation is combined with bias compensation, error statistics will also be reported (see section 6.3). 3.5 Command line arguments for mkpmap The general synopsis of the mkpmap utility is: mkpmap [options] octree The options are as follows: -apg <file> <nphotons> The output file name and approximate number of photons for the global photon map. -app <file> <nphotons> <bandwidth> The output file name for the precomputed global photon map, the approximate number of photons (before precomputation), and the number of photons (bandwidth) to use for the precomputed irradiance estimate. 11

12 -appb <file> <nphotons> <nestimate min> <nestimate max> Same as above, but applying bias compensation within the minimum and maximum number of photons on the precomputed irradiance estimate. -appt <thresh> Irradiance threshold for precomputed global photon map in W/m 2. -apc <file> <nphotons> The output file name and approximate number of photons for the caustic photon map. -apv <file> <nphotons> The output file name and approximate number of photons for the volume photon map. Volume photons can only be used with octrees containing the mist primitive. -apd <file> <nphotons> The output file name and approximate number of photons for the direct photon map. Direct photon maps are useful to determine suitable settings for the -ds and -dp options when using light sources with modifiers. This can provide a visual check for the resolution of the probability density function used for photon emission in conjunction with complex output distributions. It can also serve as a validation tool for comparison with RADIANCE s direct component. The quality of the direct photon irradiance is poor, and only accounts for surfaces with diffuse component. For these reasons, the direct photon map is strictly a debugging option. It is in no way intended to replace RADIANCE s direct calculation. -apd <frac> Fraction of the minimum number of photons specified which are emitted in the distribution prepass. Increase this if the number of stored photons differs substantially from your specified targets. This parameter may exceed 1. -apf <frac> Fraction of global photons to precompute for final gather, in the range ]0,1]. The remaining photons are discarded. -apm <max> Specifies the maximum number of bounces for a photon before termination as runaway photon. -apm <max> Specifies the maximum number of distribution prepass attempts before terminating if some photon maps are still empty. This should only be increased under very unusual circumstances, as it normally indicates a scene anomaly or photon map specifications which are incompatible with the scene. 12

13 -apo <mod> Specifies photon port modifier. All objects with this modifier will act as ports for photons emitted from the source primitive. This option can be used in mutliple instances with cumulative effect. -apo <file> Photon port modifiers are read from the specified file. -bv Toggles backface visibility. Enabling this switch causes photons to be stored and possibly reradiated if they strike the back of a surface, otherwise they are ignored and immediately absorbed. -dp <res> Resolution for sampling user defined light source emission distributions, in samples per steradian. This is required for numerically integrating the flux emitted by the light source and for constructing a probability density function (PDF) for photon emission. The accuracy of photon emission with user specified distributions depends on this parameter. Increase it if caustics exhibit spurious artifacts. -ds <frac> Light source partition size ratio; light sources are partitioned to distribute the photon emission over its surface. This parameter specifies the ratio of the size (per dimension) of each partition to the scene cube. -e <file> Redirect diagnostics and progress reports to specified file. -i <inc> Photon heap size increment; photon heaps are enlarged by this amount when storage overflows. No need to fiddle with this. -ma <ralb> <galb> <balb> Global scattering albedo. See rpict. -me <rext> <gext> <bext> Global extinction coefficient. See rpict. -mg <gecc> Global scattering eccentricity. See rpict. -t <sec> Generate progress report in specified intervals. The -apc, -apv, and -apd options can be freely combined with either -apg, -app, or -appb. At least one of these must be specified... or nothing happens! 13

14 4 Querying the Photon Map with pmapinfo The pmapinfo tool supplies the following information about a photon map: the photon map type as identified by magic number: Radiance Global Photon Map, Radiance PreComp Global Photon Map, Radiance Caustic Photon Map, Radiance Volume Photon Map, or Radiance Direct Photon Map the mkpmap command line used to build the photon map the number of photons in the photon map the photon flux averaged over the RGB colour channels. 5 Visual Examination with pmapdump The pmapdump tool is a no-frills hack to visualise the photon distribution in one or more photon map files. The dump to standard output consists of a RADIANCE scene description which can be included in the octree used to generate the photon maps. The photons themselves are modeled as simple spheres of a user defined radius, with their colour denoting the photon type as follows: Blue: global photon Cyan: precomputed global photon Red: caustic photon Green: volume photon Magenta: direct photon The synopsis for pmapdump is very simple: pmapdump <radius> <pmap1> <pmap2>... An arbitrary number of photon maps can be specified on the command line and the respective photon type is determined automagically. A typical application of pmapdump would go something like: oconv scene.rad > scene.oct mkpmap -apg pmap.gpm -apc pmap.cpm -apv pmap.vpm scene.oct pmapdump 0.01 pmap.gpm pmap.cpm pmap.vpm oconv - scene.rad > scene distrib.oct 14

15 Note the use of a pipe to directly create scene distrib.oct from the pmapdump output. The pmapdump utility can be used for illustrative purposes to understand the photon map algorithm, but more importantly, it can be used to debug scenes in which you have no clue where your photons are. The image on the right in figure 2 is an example of a pmapdump output. Note that oconv may have a hard time with the pmapdump output, requiring the use of the -n or -r options. This appears to result from the sphere overlap in dense photon distributions (such as caustics) or if the sphere radius is too small compared to the scene extent. Large photon maps tend to bog oconv down too, and the individual photons are difficult to discern anyway, hence conservatism is advised. 6 Photon Gathering with rpict The modified rpict rendering tool takes the photon map generated by mkpmap and perform the photon gathering and density estimation. Without photon map functionality enabled, it behaves like RADIANCE Classic. 6.1 Caustic Photon Visualisation Caustic photons are visualised at points seen directly by the observer, or via specular reflections. Virtual light sources are disabled with the caustic photon map, since these effects are already accounted for. Note that irradiance calculations with rtrace using caustic photons are surface bound. Irradiance for points which do not lie on surfaces will be biased. 6.2 Global Photon Visualisation Global photons are visualised via an intermediate ambient bounce, which reduces noise (figure 7). An exception to the rule is a debugging option which directly visualises the global photons. Ambient values (specified with -av) are ignored. The global photon irradiance may be optionally precomputed by mkpmap to speed things up at the expense of accuracy. 6.3 Progress Report Bias compensation statistics are provided in the progress report with the standard -t option. The statistics reported for each photon type subject to bias compensation are as follows: where: N min /N max /N avg ptype, (ε min /ε max /ε rms error), 15

16 View point Global photon density estimate Primary ray Stratified sampling + caustic photon density estimate Figure 7: Caustic photons are visualised at the primary ray, while an intermediate stratified sampling step is used between the primary ray and the global photon contribution. N min, N max, and N avg are the minimum, maximum, and average number of photons used per irradiance estimate, respectively ptype is one of global, caustic, volume, or direct. ε min, ε max, and ε rms are the minimum, maximum, and RMS (root mean square) estimated relative errors in the irradiance estimates, respectively. Since bias cannot be determined without knowing the actual illumination there is no reliable way of separating it from noise. As such, the error estimates are crude and only serve as a guide to judge the quality of the operator and its parametrisation. 6.4 Command Line Arguments for rpict The photon map is disabled by default and must be explicitly enabled using one or more of the -ap options. The different photon map types may be renderered independently or in combination. Note that rendering only the global or caustic photon map does not take all light transport paths into consideration, and may omit some indirect illumination. Since modifying the lights or geometry invalidates the photon map, a warning is issued if the octree is newer than the photon map. The multitude of options can be daunting for beginners, and it helps to start with a basic set of parameters upon which to refine if necessary. A physically valid simulation using the photon map is obtained with the following basic parameters: mkpmap -apg <pmap> <nphotons> -apc <pmap> <nphotons> <octree> rpict -apg <pmap> <bwidth> -apc <pmap> <bwidth> -ab 1 -vf <view> <octree> 16

17 As with RADIANCE Classic, the -ad, -ar, and -aa parameters must be modified in some cases to improve the rendering quality. Parameters pertaining to caustic photons must be omitted for scenes lacking specular materials. The rpict photon map options are as follows: -ab <nbounces> The number of ambient bounces; setting this to a positive value will include global photon contributions via one ambient bounce (regardless of the actual number specified). The irradiance cache may be applied to the top level ambient rays, but photon map lookups are not cached. Setting this to a negative value will visualise the global photons directly. With precomputed global photons this produces a Voronoi diagram. The quality of the resulting renderings is usually abysmal, hence this setting is primarily intended for debugging purposes, e.g. to check the illuminance distribution. Caustic photons are not visualised with this setting, because the directly visualised global photon map already accounts for them in this case. As with RADIANCE Classic, the default value of 0 disables the ambient component; global photons are not visualised, but caustic photons are still visualised directly. -apg <file> <bwidth> Loads the global photon map from the file and uses the specified number of photons (bandwidth) for a global irradiance estimate. -apgb <file> <minbwidth> <maxbwidth> Same as above, but applying bias compensation within the minimum and maximum bandwidth to the global irradiance estimate. -apgt <thresh> Irradiance threshold for global photon map in W/m 2. -app <file> Loads the precomputed global photon map from the file and uses the precomputed irradiance for final gather. -apc <file> <bwidth> Loads the caustic photon map from the file and uses the specified number of photons (bandwidth) for a caustic irradiance estimate. -apcb <file> <minbwidth> <maxbwidth> Same as above, but applying bias compensation within the minimum and maximum bandwidth to the caustic irradiance estimate. -apct <thresh> Irradiance threshold for caustic photon map in W/m 2. -apv <file> <bwidth> Loads the volume photon map from the file and uses the specified number of 17

18 photons (bandwidth) for a volume irradiance estimate within the mist primitive. -apvb <file> <minbwidth> <maxbwidth> Same as above, but applying bias compensation within the minimum and maximum bandwidth to the volume irradiance estimate. -apvt <thresh> Irradiance threshold for volume photon map in W/m 2. -apd <file> <bwidth> Loads the direct photon map from the file and uses the specified number of photons (bandwidth) for a direct irradiance estimate. RADIANCE s direct calculation is disabled, and only surfaces with diffuse component are accounted for. This is stricly a debugging and validation option, and rarely needed in practice. -apdb <file> <minbwidth> <maxbwidth> Same as above, but applying bias compensation within the minimum and maximum bandwidth to the direct irradiance estimate. -apdt <thresh> Irradiance threshold for direct photon map in W/m 2. 7 Bugs and Weirdness The spotlight focal point is ignored by the photon map; it coincides with the light source surface. This corresponds to specifying a direction vector of infinitesimal length in RADIANCE Classic. mkpmap s distribution algorithm can exceed the specified number of photons with scenes having high reflectance or when excessively high settings of -apd are used. Caustic photon irradiance will be biased when passing rtrace points which do not lie on a surface. 8 Parameter Ranges The following table lists typical ranges for various parameters used with mkpmap and rpict. It is primarily aimed at novices, who are no doubt bewildered by the plethora of options. The ranges are recommendations based on the developer s experience, and should not be interpreted as fixed constraints. In some situations it is not unlikely to use settings far beyond the typical range. 18

19 mkpmap parameter typical range <nphotons> apd apf apm dp ds rpict parameter typical range <bwidth> <thresh> Table 1: Parameter ranges for mkpmap and rpict. 19

20 9 Troubleshooting Problem Cause Solution mkpmap stores too many photons Number of stored photons differs substantially from specification Excessive noise in photon irradiance Excessive blurring in photon irradiance Excessive noise and blurring in different regions Severe irradiance falloff at polygon edges Splotchy ambient illumination from global photons Banding in photon irradiance mkpmap complains about runaway photons Direct photon irradiance from modified light source deviates significantly Too many emitted photons in distribution prepass Too few photons emitted in distribution prepass; prediction for main pass inaccurate Bandwidth too low Reduce -apd Increase -apd Increase bandwidth Bandwidth too high Decrease bandwidth or increase size of photon map Bandwidth is fixed Apply bias compensation for dynamic bandwidth Boundary bias due to high bandwidth Excessively noisy density estimates; too few ambient samples; irradiance caching too inaccurate Maximum photon search radius too small Photons stuck in infinite scattering loop, possibly pathological geometry or materials Probability density function cannot adequately resolve emission distribution; too few source partitions Table 2: Troubleshooting chart. Reduce bandwidth or apply bias compensation Check density estimate with -ab -1, and increase bandwidth if necessary; increase -ad if illumination has high variance or contains caustics; increase -ar and/or decrease -aa Decrease irradiance threshold Check geometry and materials; increase -apm Increase -dp; if distribution varies over surface, decrease -ds 20

21 Problem Cause Solution mkpmap is slow with source primitive mkpmap bogs down in light source flux integration mkpmap bails out after too many distribution prepasses source emits from scene cube faces Excessively high probability density function resolution; too many source partitions Using caustic photons with non-specular geometry; using volume photons without mist; pathological geometry or nonabsorbing materials; light sources see no geometry Define photon ports Decrease -dp; increase -ds Check scene and specify compatible photon types Everything is slow User expects too much Twiddle thumbs Table 3: Troubleshooting chart (continued). References [Ward94] Gregory J. Ward: The RADIANCE Lighting Simulation and Rendering System. Proceedings SIGGRAPH 94, July 1994 [Ward98] Greg Ward Larson and Rob Shakespeare: Rendering with RADIANCE. Morgan Kaufmann, San Francisco, 1998 [Jens96] Henrik Wann Jensen: Global Illumination using Photon Maps. Rendering Techniques 96, Eds. X. Pueyo and P. Schröder, Springer-Verlag, 1996 [Jens97] Henrik Wann Jensen: Rendering Caustics on Non-Lambertian Surfaces. Computer Graphics Forum, vol. 16 (1), March 1997 [Jens98] Henrik Wann Jensen and Per H. Christensen: Efficient Simulation of Light Transport in Scenes with Participating Media using Photon Maps. Proceedings SIGGRAPH 98, July 1998 [Jens00] Henrik Wann Jensen and Niels Jørgen Christensen: A Practical Guide to Global Illumination using Photon Maps. SIGGRAPH 2000 Course Notes 8, July 2000 [Bent75] Jon Louis Bentley: Multidimensional Binary Search Trees Used for Associative Searching. CACM 18(9), 1975 [Chri00] Per Christensen: Faster Photon Map Global Illumination. Journal of Graphics Tools, vol. 4 (3), April

22 [Schr03] Roland Schregle: Bias Compensation for Photon Maps. To appear in Computer Graphics Forum, vol. 22 (4), December

NAME mkpmap - generate RADIANCE photon map. SYNOPSIS mkpmap apg apc apv apd app apc file nphotons [bwidth]... [options] octree

NAME mkpmap - generate RADIANCE photon map. SYNOPSIS mkpmap apg apc apv apd app apc file nphotons [bwidth]... [options] octree NAME mkpmap - generate RADIANCE photon map SYNOPSIS mkpmap apg apc apv apd app apc file nphotons [bwidth]... [options] octree DESCRIPTION Mkpmap takes a RADIANCE scene description as an octree and performs

More information

Introduction to Photon Mapping RADIANCE Workshop 2010 Course Advanced Fenestration

Introduction to Photon Mapping RADIANCE Workshop 2010 Course Advanced Fenestration Introduction to Photon Mapping RADIANCE Workshop 2010 Course Advanced Fenestration Roland Schregle Motivation: Caustics Light transport from specular surfaces gives rise to caustics on diffuse surfaces.

More information

Ongoing Developments in Photon Mapping

Ongoing Developments in Photon Mapping Ongoing Developments in Photon Mapping Roland Schregle, Stephen Wittkopf Competence Centre Envelopes and Solar Energy (CC-EASE) 13th International RADIANCE Workshop 2014 London, UK Outline 1. Introduction

More information

NAME rtrace - trace rays in RADIANCE scene. SYNOPSIS rtrace [ options ][$EVAR ] octree rtrace [ options ] defaults

NAME rtrace - trace rays in RADIANCE scene. SYNOPSIS rtrace [ options ][$EVAR ] octree rtrace [ options ] defaults NAME rtrace - trace rays in RADIANCE scene SYNOPSIS rtrace [ options ][$EVAR ][@file ] octree rtrace [ options ] defaults DESCRIPTION Rtrace traces rays from the standard input through the RADIANCE scene

More information

Simple Lighting/Illumination Models

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

More information

GPU-Enabled Lighting Simulation with Accelerad

GPU-Enabled Lighting Simulation with Accelerad GPU-Enabled Lighting Simulation with Accelerad Nathaniel Jones and Christoph Reinhart 2015 International Radiance Workshop Massachusetts Institute of Technology Sustainable Design Lab Speed vs Accuracy

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

The Bidirectional Scattering Distribution Function as a First-class Citizen in Radiance. Greg Ward, Anyhere Software

The Bidirectional Scattering Distribution Function as a First-class Citizen in Radiance. Greg Ward, Anyhere Software The Bidirectional Scattering Distribution Function as a First-class Citizen in Radiance Greg Ward, Anyhere Software 1 Talk Overview Why aren t the existing BSDF types first-class citizens? What does the

More information

Biased Monte Carlo Ray Tracing

Biased Monte Carlo Ray Tracing Biased Monte Carlo Ray Tracing Filtering, Irradiance Caching, and Photon Mapping Henrik Wann Jensen Stanford University May 23, 2002 Unbiased and Consistent Unbiased estimator: E{X} =... Consistent estimator:

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

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

Irradiance Gradients. Media & Occlusions

Irradiance Gradients. Media & Occlusions Irradiance Gradients in the Presence of Media & Occlusions Wojciech Jarosz in collaboration with Matthias Zwicker and Henrik Wann Jensen University of California, San Diego June 23, 2008 Wojciech Jarosz

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

Biased Monte Carlo Ray Tracing:

Biased Monte Carlo Ray Tracing: Biased Monte Carlo Ray Tracing: Filtering, Irradiance Caching and Photon Mapping Dr. Henrik Wann Jensen Stanford University May 24, 2001 Unbiased and consistent Monte Carlo methods Unbiased estimator:

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

THEA RENDER ADAPTIVE BSD ENGINE

THEA RENDER ADAPTIVE BSD ENGINE THEA RENDER ADAPTIVE BSD ENGINE ADAPTIVE (BSD) ENGINE Adaptive (BSD) is the name of the biased engine inside Thea Render. This engine is a biased one (this is why we use the abbreviation "BSD") as it uses

More information

Introduction. Chapter Computer Graphics

Introduction. Chapter Computer Graphics Chapter 1 Introduction 1.1. Computer Graphics Computer graphics has grown at an astounding rate over the last three decades. In the 1970s, frame-buffers capable of displaying digital images were rare and

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

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes Miloš Hašan Jaroslav Křivánek * Bruce Walter Kavita Bala Cornell University * Charles University in Prague Global Illumination Effects

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

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

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

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

I present Adjoint-Driven Russian Roulette and Splitting for efficient light transport simulation which is a part of my PhD.

I present Adjoint-Driven Russian Roulette and Splitting for efficient light transport simulation which is a part of my PhD. I present Adjoint-Driven Russian Roulette and Splitting for efficient light transport simulation which is a part of my PhD. work at Charles University in Prague. 1 The simulation becomes expensive especially

More information

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing by Stephen Kazmierczak Introduction Unbiased light transport algorithms can sometimes take a large number of rays to

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

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

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

Improved Illumination Estimation for Photon Maps in Architectural Scenes

Improved Illumination Estimation for Photon Maps in Architectural Scenes Improved Illumination Estimation for Photon Maps in Architectural Scenes Robert F. Tobler VRVis Research Center Donau-City Str. 1/3 1120 Wien, Austria rft@vrvis.at Stefan Maierhofer VRVis Research Center

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

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

Virtual Reality for Human Computer Interaction

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

More information

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

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

Lecture 12: Photon Mapping. Biased Methods

Lecture 12: Photon Mapping. Biased Methods Lecture 12: Photon Mapping CS 6620, Spring 2009 Kavita Bala Computer Science Cornell University MC problems Biased Methods Biased methods: store information (caching) Better type of noise: blurring Greg

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

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

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

Recall: Basic Ray Tracer

Recall: Basic Ray Tracer 1 Recall: Ray Tracing Generate an image by backwards tracing the path of light through pixels on an image plane Simulate the interaction of light with objects Recall: Basic Ray Tracer Trace a primary ray

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

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

Simple Nested Dielectrics in Ray Traced Images

Simple Nested Dielectrics in Ray Traced Images Simple Nested Dielectrics in Ray Traced Images Charles M. Schmidt and Brian Budge University of Utah Abstract This paper presents a simple method for modeling and rendering refractive objects that are

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

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

Daysim and Photonmapping Jan Wienold

Daysim and Photonmapping Jan Wienold Daysim and Photonmapping Jan Wienold Fraunhofer Institute for Solar Energy Systems Freiburg, Germany 1 Daysim pmap - overview Introduction Photon mapping Current restrictions Implementation into daysim

More information

Discussion. Smoothness of Indirect Lighting. History and Outline. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Spring 2013)

Discussion. Smoothness of Indirect Lighting. History and Outline. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Spring 2013) Advanced Computer Graphics (Spring 2013 CS 283, Lecture 12: Recent Advances in Monte Carlo Offline Rendering Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/sp13 Some slides/ideas courtesy Pat Hanrahan,

More information

Rendering with Radiance

Rendering with Radiance Radiance Overview This section introduces some more information about Radiance and how IES have integrated it into the Virtual Environment. This document is not intended as an exhaustive study of this

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

CS Simple Raytracer for students new to Rendering

CS Simple Raytracer for students new to Rendering CS 294-13 Simple Raytracer for students new to Rendering Ravi Ramamoorthi This assignment should be done only by those small number of students who have not yet written a raytracer. For those students

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

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

Corona Sky Corona Sun Corona Light Create Camera About

Corona Sky Corona Sun Corona Light Create Camera About Plugin menu Corona Sky creates Sky object with attached Corona Sky tag Corona Sun creates Corona Sun object Corona Light creates Corona Light object Create Camera creates Camera with attached Corona Camera

More information

Computer Graphics. Illumination and Shading

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

More information

Comp 410/510 Computer Graphics. Spring Shading

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

More information

CSCI 4972/6963 Advanced Computer Graphics Quiz 2 Tuesday April 17, 2007 noon-1:30pm

CSCI 4972/6963 Advanced Computer Graphics Quiz 2 Tuesday April 17, 2007 noon-1:30pm CSCI 4972/6963 Advanced Computer Graphics Quiz 2 Tuesday April 17, 2007 noon-1:30pm Name: RCS username: This quiz is closed book & closed notes except for one 8.5x11 (double-sided) sheet of notes. Please

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

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

Lecture 15: Shading-I. CITS3003 Graphics & Animation

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

More information

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

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

More information

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

Shading I Computer Graphics I, Fall 2008

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

More information

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

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

More information

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

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

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

More information

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

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

More information

Chapter 11. Caustics and Global Illumination

Chapter 11. Caustics and Global Illumination 11 and Global Illumination Chapter 11 Direct illumination occurs when a light source directly illuminates an object or objects in a scene. Indirect illumination occurs if light illuminates objects by reflection

More information

CS 184: Assignment 4 Simple Raytracer

CS 184: Assignment 4 Simple Raytracer CS 184: Assignment 4 Simple Raytracer Ravi Ramamoorthi 1 Introduction This assignment asks you to write a first simple raytracer. Raytracers can produce some of the most impressive renderings, with high

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

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere Sampling sensitive to choice of samples less sensitive to choice of samples

More information

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

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

More information

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION Fabien Lavignotte, Mathias Paulin IRIT Université Paul Sabatier 8, route de Narbonne, 306 Toulouse cedex Toulouse, France e-mail : {lavignot,

More information

Lighting & 3D Graphics. Images from 3D Creative Magazine

Lighting & 3D Graphics. Images from 3D Creative Magazine Lighting & 3D Graphics Images from 3D Creative Magazine Contents Introduction Definitions 3D Lighting Basics 3D Light Sources Lighting Controls & Effects Brightness & Colour Shadows Hotspot And Falloff

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

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

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other

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

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

Advanced Distant Light for DAZ Studio

Advanced Distant Light for DAZ Studio Contents Advanced Distant Light for DAZ Studio Introduction Important Concepts Quick Start Quick Tips Parameter Settings Light Group Shadow Group Lighting Control Group Known Issues Introduction The Advanced

More information

Global Illumination using Photon Maps

Global Illumination using Photon Maps This paper is a slightly extended version of the paper in Rendering Techniques 96 (Proceedings of the Seventh Eurographics Workshop on Rendering), pages 21 30, 1996 Global Illumination using Photon Maps

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

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

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

More information

Illumination & Shading

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

More information

Bioluminescence Chris Fontas & Forrest Browning

Bioluminescence Chris Fontas & Forrest Browning Bioluminescence Chris Fontas & Forrest Browning Introduction Our goal for the final project was to render a bioluminescent organism. Bioluminescence is a type of luminescence (cold light) resulting from

More information

Stochastic Path Tracing and Image-based lighting

Stochastic Path Tracing and Image-based lighting EDA101 : Advanced Shading and Rendering Stochastic Path Tracing and Image-based lighting Michael Doggett 2008 Tomas Akenine-Möller 1 This is what we want: Courtesy of Henrik Wann Jensen Courtesy of Paul

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

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

Understanding Variability

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

More information

Module 5: Video Modeling Lecture 28: Illumination model. The Lecture Contains: Diffuse and Specular Reflection. Objectives_template

Module 5: Video Modeling Lecture 28: Illumination model. The Lecture Contains: Diffuse and Specular Reflection. Objectives_template The Lecture Contains: Diffuse and Specular Reflection file:///d /...0(Ganesh%20Rana)/MY%20COURSE_Ganesh%20Rana/Prof.%20Sumana%20Gupta/FINAL%20DVSP/lecture%2028/28_1.htm[12/30/2015 4:22:29 PM] Diffuse and

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

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

Ghost and Stray Light Analysis using TracePro. February 2012 Webinar

Ghost and Stray Light Analysis using TracePro. February 2012 Webinar Ghost and Stray Light Analysis using TracePro February 2012 Webinar Moderator: Andy Knight Technical Sales Manager Lambda Research Corporation Presenter: Michael Gauvin Vice President of Sales Lambda Research

More information

Global Illumination with Glossy Surfaces

Global Illumination with Glossy Surfaces Global Illumination with Glossy Surfaces Wolfgang Stürzlinger GUP, Johannes Kepler Universität, Altenbergerstr.69, A-4040 Linz, Austria/Europe wrzl@gup.uni-linz.ac.at Abstract Photorealistic rendering

More information

Wednesday, 26 January 2005, 14:OO - 17:OO h.

Wednesday, 26 January 2005, 14:OO - 17:OO h. Delft University of Technology Faculty Electrical Engineering, Mathematics, and Computer Science Mekelweg 4, Delft TU Delft Examination for Course IN41 5 1-3D Computer Graphics and Virtual Reality Please

More information

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI) Overview Deferred Shading Ambient Occlusion Screen

More information

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

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

More information

Illumination & Shading: Part 1

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

More information

WHY WE NEED SHADING. Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something like.

WHY WE NEED SHADING. Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something like. LIGHTING 1 OUTLINE Learn to light/shade objects so their images appear three-dimensional Introduce the types of light-material interactions Build a simple reflection model---the Phong model--- that can

More information

TracePro s Monte Carlo Raytracing Methods, reducing statistical noise, memory usage and raytrace times

TracePro s Monte Carlo Raytracing Methods, reducing statistical noise, memory usage and raytrace times TracePro s Monte Carlo Raytracing Methods, reducing statistical noise, memory usage and raytrace times Presented by : Lambda Research Corporation 25 Porter Rd. Littleton, MA 01460 www.lambdares.com Moderator:

More information

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

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

More information

CS354R: Computer Game Technology

CS354R: Computer Game Technology CS354R: Computer Game Technology Real-Time Global Illumination Fall 2018 Global Illumination Mirror s Edge (2008) 2 What is Global Illumination? Scene recreates feel of physically-based lighting models

More information