Lecture 7 - “Path Tracing” Welcome! 푰 풙, 풙′ = 품(풙, 풙′) 흐 풙, 풙′ + 흆 풙, 풙′, 풙′′ 푰 풙′, 풙′′ 풅풙′′ 푺 Today’S Agenda

Total Page:16

File Type:pdf, Size:1020Kb

Lecture 7 - “Path Tracing” Welcome! 푰 풙, 풙′ = 품(풙, 풙′) 흐 풙, 풙′ + 흆 풙, 풙′, 풙′′ 푰 풙′, 풙′′ 풅풙′′ 푺 Today’S Agenda INFOMAGR – Advanced Graphics Jacco Bikker - November 2016 - February 2017 Lecture 7 - “Path Tracing” Welcome! 푰 풙, 풙′ = 품(풙, 풙′) 흐 풙, 풙′ + 흆 풙, 풙′, 풙′′ 푰 풙′, 풙′′ 풅풙′′ 푺 Today’s Agenda: . Introduction . Path Tracing Advanced Graphics – Path Tracing 3 Introduction Previously in Advanced Graphics The Rendering Equation: 퐿표 푥, 휔표 = 퐿퐸 푥, 휔표 + 푓푟 푥, 휔표, 휔푖 퐿푖 푥, 휔푖 cos 휃푖 푑휔푖 훺 …which models light transport as it happens in the real world, by summing: . Direct illumination: 퐿퐸(푥, 휔표) . Indirect illumination, or reflected light: 훺 푓푟 푥, 휔표, 휔푖 퐿푖 푥, 휔푖 cos 휃푖 푑휔푖 We used quantities flux 훷 (joules per second), radiance 퐿 (flux per 푚2 per sr) and irradiance 퐸 (joules per second per 푚2). Advanced Graphics – Path Tracing 4 Introduction Previously in Advanced Graphics Particle transport: As an alternative to discrete flux / radiance / irradiance, we can reason about light transport in terms of particle transport. Flux then becomes the number of emitted photons; . Radiance the number of photons travelling through a unit area in a unit direction; . Irradiance the number of photons arriving on a unit area. A BRDF tells us how many particles are absorbed, and how outgoing particles are distributed. The distribution depends on the incident and exitant direction. Advanced Graphics – Path Tracing 5 Introduction Previously in Advanced Graphics Probabilities: We can also reason about the behavior of a single photon. In that case, the BRDF tells us the probability of a photon being absorbed, or leaving in a certain direction. Advanced Graphics – Path Tracing 6 Introduction Previously in Advanced Graphics BRDFs: The BRDF describes how incoming light is absorbed or scattered. More accurately: for an incoming direction 휔푖 and an outgoing direction 휔표, it defines the relation between received irradiance and reflected radiance. A physically based BRDF has some important properties: 흎 . 푓푟 휔표, 휔푖 ≥ 0 풊 . 푓푟 휔표, 휔푖 = 푓푟 휔푖, 휔표 풏 . 훺 푓푟 휔표, 휔푖 cos 휃표 푑휔표 ≤ 1 푎푙푏푒푑표 Example: diffuse BRDF, 푓 ω , ω = . 푟 표 푖 휋 Note that the diffuse BRDF is view independent; 휔표 is irrelevant. It does however take into account 휔푖: this affects how radiance is converted to irradiance. Advanced Graphics – Path Tracing 7 Introduction Previously in Advanced Graphics Monte Carlo integration: Complex integrals can be approximated by replacing them by the expected value of a stochastic experiment. Soft shadows: randomly sample the area of a light source; . Glossy reflections: randomly sample the directions in a cone; . Depth of field: randomly sample the aperture; . Motion blur: randomly sample frame time. In the case of the rendering equation, we are dealing with a recursive integral. Path tracing: evaluating this integral using a random walk. Today’s Agenda: . Introduction . Path Tracing Advanced Graphics – Path Tracing 9 Path Tracing Solving the Rendering Equation Let’s start with direct illumination: For a screen pixel, diffuse surface point 푝 with normal 푛 is directly visible. What is the radiance travelling via 푝 towards the eye? Answer: 퐿표 푝, 휔표 = 푓푟 푝, 휔표, 휔푖 퐿푑 푝, 휔푖 cos 휃푖 푑휔푖 훺 휔푖 휔표 푛 p Advanced Graphics – Path Tracing 10 Path Tracing Direct Illumination We can solve this integral using Monte-Carlo integration: . Chose N random directions over the hemisphere for 푝 . Find the first surface in each direction by tracing a ray . Sum the luminance of the encountered surfaces . Divide the sum by N and multiply by 2π 푁 2휋 퐿 푝, 휔 ≈ 푓 푝, 휔 , 휔 퐿 푝, 휔 cos 휃 표 표 푁 푟 표 푖 푑 푖 푖 푖=1 휔푖 휔표 푛 p Advanced Graphics – Path Tracing 11 Path Tracing We integrate over the hemisphere, which Direct Illumination has an area of 2휋. 푁 2휋 Do not confuse this with the 1/ 휋 factor in the BRDF, which doesn’t compensate 퐿표 푝, 휔표 ≈ 푓푟 푝, 휔표, 휔 푖 퐿푑 푝, 휔 푖 cos 휃 푁 for the surface of the hemisphere, but the 푖=1 integral of cos 휃 over the hemisphere (휋). Questions: . Why do we multiply by 2휋? . What is the radiance 퐿푑(푝, 휔푖) towards 푝 for e.g. a 100W light? . What is the irradiance 퐸 arriving at 푝 from this light? 퐿 is per sr; 퐿푑(푝, 휔푖) is proportional to the solid angle of the light as seen 2 휔푖 from p, so (cos 휃표 퐴퐿 )/푟 . 푑 휔표 푛 Note that the 100W flux is spread out over the area; irradiance is defined per 푚2. p Advanced Graphics – Path Tracing 12 Path Tracing Direct Illumination 퐿표 푝, 휔표 = 푓푟 푝, 휔표, 휔푖 퐿푑 푝, 휔푖 cos 휃푖 푑휔푖 훺 In many directions, we will not find light sources. We can improve our estimate by sampling the lights separately. 푙푖ℎ푡푠 Here, C compensates for the fact 푗 that we now sample the area of 퐿표 푝, 휔푖 = 푓푟 푝, 휔표, 휔푖 퐿 푝, 휔푖 cos 휃푖 푑휔푖 푑 the light source, instead of the 푗=1 훺 hemisphere. The probability of stumbling onto an unoccluded Obviously, sampling the entire hemisphere for each light light used to be proportional to is not necessary; we can sample the area of the light instead: solid angle; now it is always 1. C 2 is therefore ~(cos 휃표퐴퐿푑)/푟 . 푙푖ℎ푡푠 푗 퐿표 푝, 휔푖 = 푓푟 푝, 휔표, 휔푖 퐿푑 푝, 휔푖 퐶 cos 휃푖 푑휔푖 푗=1 퐴 Advanced Graphics – Path Tracing 13 Path Tracing Direct Illumination 푙푖ℎ푡푠 푗 퐿표 푝, 휔푖 = 푓푟 푝, 휔표, 휔푖 퐿푑 푝, 휔푖 퐶 cos 휃푖 푑휔푖 푗=1 퐴 Using Monte-Carlo: 푁 퐴 cos 휃 cos 휃 1 퐿 푖 표 퐿 푝, 휔 ≈ 푙푔ℎ푡푠 ∗ 푓 푝, 휔 , 푝 ′ 퐿푗 푝, 푝 ′ 푉 푝 ↔ 푝 ′ 푑 표 푖 푁 푟 표 푑 ∥ 푝 − 푝 ′ ∥2 푖=1 where 푗 ′ . 퐿푑 is the direct light to p from random point 푝 on random light 푗 . 퐴 is the area of this light source 퐿푑 . 푉 푝 ↔ 푝 ′ is the mutual visibility between p and p’. Advanced Graphics – Path Tracing 14 Path Tracing Direct Illumination We now have two methods to estimate direct illumination using Monte Carlo integration: 1. By random sampling the hemisphere: 푁 2휋 퐿 푝, 휔 ≈ 푓 푝, 휔 , 휔 퐿 푝, 휔 cos 휃 표 표 푁 푟 표 푖 푑 푖 푖 푖=1 2. By sampling the lights directly: 푁 퐴 cos 휃 cos 휃 1 퐿 푖 표 퐿 푝, 휔 ≈ 푙푔ℎ푡푠 ∗ 푓 푝, 휔 , 푝 ′ 퐿푗 푝, 푝 ′ 푉 푝 ↔ 푝 ′ 푑 표 푖 푁 푟 표 푑 ∥ 푝 − 푝 ′ ∥2 푖=1 For 푁 = ∞, these yield the same result. Advanced Graphics – Path Tracing 15 Path Tracing Direct Illumination We now have two methods to estimate direct illumination using Monte Carlo integration: 1. By random sampling the hemisphere: 푁 2휋 퐿 푝, 휔 ≈ 푓 푝, 휔 , 휔 퐿 푝, 휔 cos 휃 표 표 푁 푟 표 푖 푑 푖 푖 푖=1 2. By sampling the lights directly (three point notation): 푁 퐴 cos 휃 cos 휃 1 퐿 푖 표 퐿 푠 ← 푝 ≈ 푙푔ℎ푡푠 ∗ 푓 푠 ← 푝 ← 푞 퐿푗 푝 ← 푞 푉 푝 ↔ 푞 푑 표 푁 푟 푑 ∥ 푝 − 푞 ∥2 푖=1 For 푁 = ∞, these yield the same result. Advanced Graphics – Path Tracing 16 Path Tracing 푁 2휋 퐿 푝, 휔 ≈ 푓 푝, 휔 , 휔 퐿 푝, 휔 cos 휃 표 표 푁 푟 표 푖 푑 푖 푖 Verification 푖=1 Method 1 in a small C# ray tracing framework: In: Ray ray, with members O, D, N, t. Already calculated: intersection point I = O + t * D. Vector3 R = RTTools.DiffuseReflection( ray.N ); Ray rayToHemisphere = new Ray( I + R * EPSILON, R, 1e34f ); Scene.Intersect( rayToHemisphere ); if (rayToHemisphere.objIdx == LIGHT) { Vector3 BRDF = material.diffuse * INVPI; float cos_i = Vector3.Dot( R, ray.N ); return 2.0f * PI * BRDF * Scene.lightColor * cos_i; } Advanced Graphics – Path Tracing 17 푁 Path Tracing 퐴 cos 휃 cos 휃 1 퐿 푖 표 퐿 푝, 휔 ≈ 푙푔ℎ푡푠 ∗ 푓 푝, 휔 , 푝′ 퐿푗 푝, 푝 ′ 푉 푝 ↔ 푝 ′ 푑 표 푖 푁 푟 표 푑 ∥ 푝 − 푝 ′ ∥2 Verification 푖=1 Method 2 in a small C# ray tracing framework: // construct vector to random point on light Vector3 L = Scene.RandomPointOnLight() - I; float dist = L.Length(); L /= dist; float cos_o = Vector3.Dot( -L, lightNormal ); float cos_i = Vector3.Dot( L, ray.N ); if ((cos_o <= 0) || (cos_i <= 0)) return BLACK; // light is not behind surface point, trace shadow ray Ray r = new Ray( I + EPSILON * L, L, dist - 2 * EPSILON ); Scene.Intersect( r ); if (r.objIdx != -1) return Vector3.Zero; // light is visible (V(p,p’)=1); calculate transport Vector3 BRDF = material.diffuse * INVPI; float solidAngle = (cos_o * Scene.LIGHTAREA) / (dist * dist); return BRDF * lightCount * Scene.lightColor * solidAngle * cos_i; Advanced Graphics – Path Tracing 18 Path Tracing 0.1s Advanced Graphics – Path Tracing 19 Path Tracing 0.5s Advanced Graphics – Path Tracing 20 Path Tracing 2.0s Advanced Graphics – Path Tracing 21 Path Tracing 30.0s Advanced Graphics – Path Tracing 22 Path Tracing Rendering using Monte Carlo Integration In the demonstration, we sampled each light using only 1 sample. The (very noisy) result is directly visualized. To get a better estimate, we average the result of several frames (and thus: several samples). Observations: 1. The light sampling estimator is much better than the hemisphere estimator; 2. Relatively few samples are sufficient for a recognizable image; 3. Noise reduces over time, but we quickly get diminishing returns. Advanced Graphics – Path Tracing 23 Path Tracing Indirect Light Returning to the full rendering equation: We know how to evaluate direct lighting: What remains is indirect light. This is the light that is not emitted by the surface in direction 휔푖, but reflected.
Recommended publications
  • CUDA-SCOTTY Fast Interactive CUDA Path Tracer Using Wide Trees and Dynamic Ray Scheduling
    15-618: Parallel Computer Architecture and Programming CUDA-SCOTTY Fast Interactive CUDA Path Tracer using Wide Trees and Dynamic Ray Scheduling “Golden Dragon” TEAM MEMBERS Sai Praveen Bangaru (Andrew ID: saipravb) Sam K Thomas (Andrew ID: skthomas) Introduction Path tracing has long been the select method used by the graphics community to render photo-realistic images. It has found wide uses across several industries, and plays a major role in animation and filmmaking, with most special effects rendered using some form of Monte Carlo light transport. It comes as no surprise, then, that optimizing path tracing algorithms is a widely studied field, so much so, that it has it’s own top-tier conference (​HPG; ​High Performance Graphics). There are generally a whole spectrum of methods to increase the efficiency of path tracing. Some methods aim to create ​better sampling methods (Metropolis Light Transport), while others try to ​reduce noise​ in the final image by filtering the output ​(4D Sheared transform)​. In the spirit of the parallel programming course ​15-618​, however, we focus on a third category: system-level optimizations and leveraging hardware and algorithms that better utilize the hardware (​Wide Trees, Packet tracing, Dynamic Ray Scheduling)​. Most of these methods, understandably, focus on the ​ray-scene intersection ​part of the path tracing pipeline, since that is the main bottleneck. In the following project, we describe the implementation of a hybrid ​non-packet​ method which uses ​Wide Trees​ and ​Dynamic Ray Scheduling ​to provide an ​80x ​improvement over a ​8-threaded CPU implementation. Summary Over the course of roughly 3 weeks, we studied two ​non-packet​ BVH traversal optimizations: ​Wide Trees​, which involve non-binary BVHs for shallower BVHs and better Warp/SIMD Utilization and ​Dynamic Ray Scheduling​ which involved changing our perspective to process rays on a per-node basis rather than processing nodes on a per-ray basis.
    [Show full text]
  • Practical Path Guiding for Efficient Light-Transport Simulation
    Eurographics Symposium on Rendering 2017 Volume 36 (2017), Number 4 P. Sander and M. Zwicker (Guest Editors) Practical Path Guiding for Efficient Light-Transport Simulation Thomas Müller1;2 Markus Gross1;2 Jan Novák2 1ETH Zürich 2Disney Research Vorba et al. MSE: 0.017 Reference Ours (equal time) MSE: 0.018 Training: 5.1 min Training: 0.73 min Rendering: 4.2 min, 8932 spp Rendering: 4.2 min, 11568 spp Figure 1: Our method allows efficient guiding of path-tracing algorithms as demonstrated in the TORUS scene. We compare equal-time (4.2 min) renderings of our method (right) to the current state-of-the-art [VKv∗14, VK16] (left). Our algorithm automatically estimates how much training time is optimal, displays a rendering preview during training, and requires no parameter tuning. Despite being fully unidirectional, our method achieves similar MSE values compared to Vorba et al.’s method, which trains bidirectionally. Abstract We present a robust, unbiased technique for intelligent light-path construction in path-tracing algorithms. Inspired by existing path-guiding algorithms, our method learns an approximate representation of the scene’s spatio-directional radiance field in an unbiased and iterative manner. To that end, we propose an adaptive spatio-directional hybrid data structure, referred to as SD-tree, for storing and sampling incident radiance. The SD-tree consists of an upper part—a binary tree that partitions the 3D spatial domain of the light field—and a lower part—a quadtree that partitions the 2D directional domain. We further present a principled way to automatically budget training and rendering computations to minimize the variance of the final image.
    [Show full text]
  • Megakernels Considered Harmful: Wavefront Path Tracing on Gpus
    Megakernels Considered Harmful: Wavefront Path Tracing on GPUs Samuli Laine Tero Karras Timo Aila NVIDIA∗ Abstract order to handle irregular control flow, some threads are masked out when executing a branch they should not participate in. This in- When programming for GPUs, simply porting a large CPU program curs a performance loss, as masked-out threads are not performing into an equally large GPU kernel is generally not a good approach. useful work. Due to SIMT execution model on GPUs, divergence in control flow carries substantial performance penalties, as does high register us- The second factor is the high-bandwidth, high-latency memory sys- age that lessens the latency-hiding capability that is essential for the tem. The impressive memory bandwidth in modern GPUs comes at high-latency, high-bandwidth memory system of a GPU. In this pa- the expense of a relatively long delay between making a memory per, we implement a path tracer on a GPU using a wavefront formu- request and getting the result. To hide this latency, GPUs are de- lation, avoiding these pitfalls that can be especially prominent when signed to accommodate many more threads than can be executed in using materials that are expensive to evaluate. We compare our per- any given clock cycle, so that whenever a group of threads is wait- formance against the traditional megakernel approach, and demon- ing for a memory request to be served, other threads may be exe- strate that the wavefront formulation is much better suited for real- cuted. The effectiveness of this mechanism, i.e., the latency-hiding world use cases where multiple complex materials are present in capability, is determined by the threads’ resource usage, the most the scene.
    [Show full text]
  • An Advanced Path Tracing Architecture for Movie Rendering
    RenderMan: An Advanced Path Tracing Architecture for Movie Rendering PER CHRISTENSEN, JULIAN FONG, JONATHAN SHADE, WAYNE WOOTEN, BRENDEN SCHUBERT, ANDREW KENSLER, STEPHEN FRIEDMAN, CHARLIE KILPATRICK, CLIFF RAMSHAW, MARC BAN- NISTER, BRENTON RAYNER, JONATHAN BROUILLAT, and MAX LIANI, Pixar Animation Studios Fig. 1. Path-traced images rendered with RenderMan: Dory and Hank from Finding Dory (© 2016 Disney•Pixar). McQueen’s crash in Cars 3 (© 2017 Disney•Pixar). Shere Khan from Disney’s The Jungle Book (© 2016 Disney). A destroyer and the Death Star from Lucasfilm’s Rogue One: A Star Wars Story (© & ™ 2016 Lucasfilm Ltd. All rights reserved. Used under authorization.) Pixar’s RenderMan renderer is used to render all of Pixar’s films, and by many 1 INTRODUCTION film studios to render visual effects for live-action movies. RenderMan started Pixar’s movies and short films are all rendered with RenderMan. as a scanline renderer based on the Reyes algorithm, and was extended over The first computer-generated (CG) animated feature film, Toy Story, the years with ray tracing and several global illumination algorithms. was rendered with an early version of RenderMan in 1995. The most This paper describes the modern version of RenderMan, a new architec- ture for an extensible and programmable path tracer with many features recent Pixar movies – Finding Dory, Cars 3, and Coco – were rendered that are essential to handle the fiercely complex scenes in movie production. using RenderMan’s modern path tracing architecture. The two left Users can write their own materials using a bxdf interface, and their own images in Figure 1 show high-quality rendering of two challenging light transport algorithms using an integrator interface – or they can use the CG movie scenes with many bounces of specular reflections and materials and light transport algorithms provided with RenderMan.
    [Show full text]
  • Getting Started (Pdf)
    GETTING STARTED PHOTO REALISTIC RENDERS OF YOUR 3D MODELS Available for Ver. 1.01 © Kerkythea 2008 Echo Date: April 24th, 2008 GETTING STARTED Page 1 of 41 Written by: The KT Team GETTING STARTED Preface: Kerkythea is a standalone render engine, using physically accurate materials and lights, aiming for the best quality rendering in the most efficient timeframe. The target of Kerkythea is to simplify the task of quality rendering by providing the necessary tools to automate scene setup, such as staging using the GL real-time viewer, material editor, general/render settings, editors, etc., under a common interface. Reaching now the 4th year of development and gaining popularity, I want to believe that KT can now be considered among the top freeware/open source render engines and can be used for both academic and commercial purposes. In the beginning of 2008, we have a strong and rapidly growing community and a website that is more "alive" than ever! KT2008 Echo is very powerful release with a lot of improvements. Kerkythea has grown constantly over the last year, growing into a standard rendering application among architectural studios and extensively used within educational institutes. Of course there are a lot of things that can be added and improved. But we are really proud of reaching a high quality and stable application that is more than usable for commercial purposes with an amazing zero cost! Ioannis Pantazopoulos January 2008 Like the heading is saying, this is a Getting Started “step-by-step guide” and it’s designed to get you started using Kerkythea 2008 Echo.
    [Show full text]
  • Kerkythea 2007 Rendering System
    GETTING STARTED PHOTO REALISTIC RENDERS OF YOUR 3D MODELS Available for Ver. 1.01 © Kerkythea 2008 Echo Date: April 24th, 2008 GETTING STARTED Page 1 of 41 Written by: The KT Team GETTING STARTED Preface: Kerkythea is a standalone render engine, using physically accurate materials and lights, aiming for the best quality rendering in the most efficient timeframe. The target of Kerkythea is to simplify the task of quality rendering by providing the necessary tools to automate scene setup, such as staging using the GL real-time viewer, material editor, general/render settings, editors, etc., under a common interface. Reaching now the 4th year of development and gaining popularity, I want to believe that KT can now be considered among the top freeware/open source render engines and can be used for both academic and commercial purposes. In the beginning of 2008, we have a strong and rapidly growing community and a website that is more "alive" than ever! KT2008 Echo is very powerful release with a lot of improvements. Kerkythea has grown constantly over the last year, growing into a standard rendering application among architectural studios and extensively used within educational institutes. Of course there are a lot of things that can be added and improved. But we are really proud of reaching a high quality and stable application that is more than usable for commercial purposes with an amazing zero cost! Ioannis Pantazopoulos January 2008 Like the heading is saying, this is a Getting Started “step-by-step guide” and it’s designed to get you started using Kerkythea 2008 Echo.
    [Show full text]
  • Path Tracing
    Advanced Computer Graphics Path Tracing Matthias Teschner Computer Science Department University of Freiburg Motivation global illumination tries to account for all light-transport mechanisms in a scene considers direct and indirect illumination (emitted and reflected radiance) allows for effects such as, e.g., interreflections (surfaces illuminate direct direct illumination illumination each other, potentially changing their colors) caustics (reflected radiance from indirect surfaces is focused at illumination a scene point) University of Freiburg – Computer Science Department – Computer Graphics - 2 [Suffern] Motivation caustics and color transfer / bleeding from red and green side walls, i.e. interreflections http://www.cse.iitb.ac.in/~rhushabh/ University of Freiburg – Computer Science Department – Computer Graphics - 3 [Rhushabh Goradia] Outline path tracing brute-force path tracing direct illumination indirect illumination University of Freiburg – Computer Science Department – Computer Graphics - 4 Path Tracing - Concept generate light transport paths (a chain of rays) from visible surface points to light sources rays are traced recursively until hitting a light source recursively evaluate the rendering equation along a path ray generation in a path is governed by light sources and BRDFs recursion depth is generally governed by the amount of radiance along a ray can distinguish direct and indirect illumination direct: emitted radiance from light sources indirect: reflected radiance from surfaces (and light sources)
    [Show full text]
  • Path Tracing on Massively Parallel Neuromorphic Hardware
    EG UK Theory and Practice of Computer Graphics (2012) Hamish Carr and Silvester Czanner (Editors) Path Tracing on Massively Parallel Neuromorphic Hardware P. Richmond1 and D.J. Allerton1 1Department of Automatic Control Systems Engineering, University of Sheffield Abstract Ray tracing on parallel hardware has recently benefit from significant advances in the graphics hardware and associated software tools. Despite this, the SIMD nature of graphics card architectures is only able to perform well on groups of coherent rays which exhibit little in the way of divergence. This paper presents SpiNNaker, a massively parallel system based on low power ARM cores, as an architecture suitable for ray tracing applications. The asynchronous design allows us to demonstrate a linear performance increase with respect to the number of cores. The performance per Watt ratio achieved within the fixed point path tracing example presented is far greater than that of a multi-core CPU and similar to that of a GPU under optimal conditions. Categories and Subject Descriptors (according to ACM CCS): I.3.1 [Computer Graphics]: Hardware Architecture— Parallel processing I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism—Ray Tracing 1. Introduction million cores) and highly interconnected architecture which Ray tracing offers a significant departure from traditional considers power efficiency as a primary design goal. Origi- rasterized graphics with the promise of more naturally oc- nally designed for the purpose of simulating large neuronal curring lighting effects such as soft shadows, global illu- models in real time, the architecture is based on low power mination and caustics. Understandably this improved visual (passively cooled) asynchronous ARM processors with pro- realism comes at a large computational cost.
    [Show full text]
  • Efficient Monte Carlo Rendering with Realistic Lenses
    EUROGRAPHICS 2014 / B. Lévy and J. Kautz Volume 33 (2014), Number 2 (Guest Editors) Efficient Monte Carlo Rendering with Realistic Lenses Johannes Hanika and Carsten Dachsbacher, Karlsruhe Institute of Technology, Germany ray traced 1891 spp ray traced 1152 spp Taylor 2427 spp our fit 2307 spp reference aperture sampling our fit difference Figure 1: Equal time comparison (40min, 640×960 resolution): rendering with a virtual lens (Canon 70-200mm f/2.8L at f/2.8) using spectral path tracing with next event estimation and Metropolis light transport (Kelemen mutations [KSKAC02]). Our method enables efficient importance sampling and the degree 4 fit faithfully reproduces the subtle chromatic aberrations (only a slight overall shift is introduced) while being faster to evaluate than ray tracing, naively or using aperture sampling, through the lens system. Abstract In this paper we present a novel approach to simulate image formation for a wide range of real world lenses in the Monte Carlo ray tracing framework. Our approach sidesteps the overhead of tracing rays through a system of lenses and requires no tabulation. To this end we first improve the precision of polynomial optics to closely match ground-truth ray tracing. Second, we show how the Jacobian of the optical system enables efficient importance sampling, which is crucial for difficult paths such as sampling the aperture which is hidden behind lenses on both sides. Our results show that this yields converged images significantly faster than previous methods and accurately renders complex lens systems with negligible overhead compared to simple models, e.g. the thin lens model.
    [Show full text]
  • Acceleration of Blender Cycles Path-Tracing Engine Using Intel Many Integrated Core Architecture
    Acceleration of Blender Cycles Path-Tracing Engine Using Intel Many Integrated Core Architecture B Milan Jaroˇs1,2( ), Lubom´ır R´ˇıha1, Petr Strakoˇs1, Tom´aˇsKar´asek1, Alena Vaˇsatov´a1,2, Marta Jaroˇsov´a1,2, and Tom´aˇs Kozubek1,2 1 IT4Innovations, VSB-Technicalˇ University of Ostrava, Ostrava, Czech Republic [email protected] 2 Department of Applied Mathematics, VSB-Technicalˇ University of Ostrava, Ostrava, Czech Republic Abstract. This paper describes the acceleration of the most computa- tionally intensive kernels of the Blender rendering engine, Blender Cycles, using Intel Many Integrated Core architecture (MIC). The proposed par- allelization, which uses OpenMP technology, also improves the perfor- mance of the rendering engine when running on multi-core CPUs and multi-socket servers. Although the GPU acceleration is already imple- mented in Cycles, its functionality is limited. Our proposed implemen- tation for MIC architecture contains all features of the engine with improved performance. The paper presents performance evaluation for three architectures: multi-socket server, server with MIC (Intel Xeon Phi 5100p) accelerator and server with GPU accelerator (NVIDIA Tesla K20m). Keywords: Intel xeon phi · Blender Cycles · Quasi-Monte Carlo · Path Tracing · Rendering 1 Introduction The progress in the High-Performance Computing (HPC) plays an important role in the science and engineering. Computationally intensive simulations have become an essential part of research and development of new technologies. Many research groups in the area of computer graphics deal with problems related to an extremely time-consuming process of image synthesis of virtual scenes, also called rendering (Shrek Forever 3D – 50 mil. CPU rendering hours, [CGW]).
    [Show full text]
  • Kerkythea 2008: Rendering, Iluminação E Materiais Recolha De Informação Sobre Rendering Em Kerkythea
    Kerkythea 2008: Rendering, Iluminação e Materiais Recolha de informação sobre Rendering em Kerkythea. Fautl. 5­2013 ­ Victor Ferreira Lista geral de Tutoriais: http://www.kerkythea.net/forum/viewtopic.php?f=16&t=5720 Luzes Tipos de luzes do Kerkythea: Omni, spot, IES e Projection (projeção). Omni: é uma luz multi­direccional, que emite raios do centro para todos os lados, como o sol ou a luz de uma simples lâmpada incadescente. Spot: é uma luz direcional, como um foco, com um ângulo mais largo ou mais estreito de iluminação. IES: é um tipo de luz que tem propriedades físicas de intensidade e distribuição da luz descritas em um arquivo com extensão .ies. O resultado é mais realista do que as Omni ou Spotlight simples. O KT fornece um arquivo como um exemplo, mas você pode encontrar muitos ficheiros IES na web. Muitos fabricantes partilham os arquivos 3D das suas luminárias juntamente com o ficheiro IES respectivo. Também se pode encontrar programas gratuitos que permitem uma visualização rápida da forma da luz IES sem precisar de a inserir no Kerkythea Controlo de edição visual: a posição e o raio de luz podem ser geridos também com o controlador que você pode encontrar no canto superior direito da janela. O controle deslizante assume funções diferentes dependendo do tipo de luz que for seleccionado: o raio para a omni. HotSpot/falloff para a spot e largura/altura para projetor. Atenção: Quando se selecciona uma luz (Omni ou IES) aparece uma esfera amarela,que representa a dimensão do emissor. Isto depende do valor do raio, expresso em metros.
    [Show full text]
  • Computer Graphics Global Illumination (2): Monte-Carlo Ray
    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 objects but cannot handle indirect diffuse reflections well •Radiosity can render indirect diffuse reflections but not specular reflections •They have to be combined to synthesize photo-realistic images * Today •Other practical methods to synthesize photo- realistic images •Monte-Carlo Ray Tracing –Path Tracing –Bidirectional Path Tracing •Photon Mapping * Overview •Light Transport Notations •Monte-Carlo Ray Tracing •Photon Mapping * Color Bleeding * Caustics Light Transport Notations When describing a light path, it is sometimes necessary to distinguish the types of reflections □L: a light source □E: the eye □S: a specular reflection or refraction □D: a diffuse reflection Light Transport Notations (2) We may also use regular expressions: •(k)+ : one or more of k events •(k)* : zero or more of k events •(k)?: zero or one of k events •(k|k’) : k or k’ Light Transport Notations * LDDE LSDE Overview : Global Illumination Methods •Light Transport Notations •Monte-Carlo Ray Tracing •Photon Mapping * Ray Tracing : review •Shadow ray, reflection ray, etc. •We simply do a local illumination at diffuse surfaces using the direct light •We do not know where the indirect light that lit the diffuse surface comes from Problems simulating indirect lighting by ray-tracing LSDE LSDE LDDE •Caustics and color bleeding are produced by indirect light
    [Show full text]