Rendering Equation & Path Tracing

Total Page:16

File Type:pdf, Size:1020Kb

Rendering Equation & Path Tracing CMSC427 Computer Graphics Matthias Zwicker Fall 2019 1 Rendering so far Cannot simulate: 1. Reflection, refraction 2. Multiple bounces 3. Area lights 4. Scattering in volumes 5. Wave effects 6. Transient (time dependent) light transport 2 Today A glimpse at realistic light transport simulation • Address points 1-4 on previous slide • Rendering equation • Monte Carlo integration • Solving rendering equation using Monte Carlo path tracing 3 Goal: compute radiance field • Radiance field Lo(x,ωo) o 4 So far: reflection equation 2 • Given incident light (radiance) Li for all directions ωi over hemisphere H (n), and BRDF f at point x, what is reflected light Lo in direction ωo? • Li, Lo are radiance distributions: defined for each point x and direction ωi, ωo Reflected radiance Incident radiance BRDF (note: we computed a discrete version of this by summing over set of light sources) 5 Problem • Reflection equation assumes incident light Li is known at any point x, direction ωi • But incident light depends on reflected light Lo somewhere else in the scene x‘=r(x,ωi) is point where ray x,ωi hits surface; x‘ related to x via ray tracing 6 Indirect illumination • Find incident light Li(x,ωi) by computing reflected Lo(x’,-ωi) at corresponding location x’ • Etc. recursively • Notation tedious, let’s simplify 7 Notation trick • Radiance doesn‘t change along ray (in vacuum) • Get rid of distinction between incident Li and reflected radiance Lo • Will denote reflected radiance with L x‘=r(x,ωi) is point where ray x,ωi hits surface; x‘ related to x via ray tracing 8 Rendering equation http://en.wikipedia.org/wiki/Rendering_equation x‘=r(x,ωi) is point where ray x,ωi hits next surface Conservation of energy: outgoing light L is sum of emitted light Le and reflected light, which is integral of incident light weighted by BRDF and cosine term; at each point x and in each dirction ωo 9 Solution via series expansion • Operator notation L = E +T{L} • Series expansion http://en.wikipedia.org/wiki/Liouville-Neumann_series – Start with L=0 on right hand side, substitute resulting left hand side recursively into right hand side L = E + T{E} + T{T{E}} + T{T{T{E}}}… • Infinite sum converges to solution of rendering equation – Intuition: T applied n times to E represents all light that bounced n times; infinite sum adds up over all number of bounces from n=0 to infinity – Convergence because each bounce absorbs some energy; terms get smaller by some factor <1 with each additional bounce 10 Numerical solution • How to compute the terms T{E}, T{T{E}}, T{T{T{E}}} etc. of the infinite sum? – Each term is complicated, high-dimensional integral (integrating over all light paths of a certain length, i.e., number of bounces) • Solution: Monte Carlo integration 11 2 Monte Carlo integration http://en.wikipedia.org/wiki/Monte_Carlo_integration • 1D example: want to compute numerically • Given uniform random variables • Monte Carlo estimator for the integral with N random samples 3 Expected value http://en.wikipedia.org/wiki/Monte_Carlo_integration 4 Variance http://en.wikipedia.org/wiki/Monte_Carlo_integration 5 Standard deviation Standard deviation (expected error) σ of the estimator • The expected error converges with • To get half the error, we need four times the number of samples • Slow convergence … 6 Importance sampling • With general probability density p known as “importance sampling” • Show as before • Can reduce variance compared to uniform sampling Monte Carlo path tracing https://en.wikipedia.org/wiki/Path_tracing • Evaluate terms E, T{E}, T{T{E}}, T{T{T{E}}} using Monte Carlo integration • For example, one bounce – j-th sample uses random direction ωi,j – Uniform sample density over hemisphere is p(ω)=1/(2pi) – Angle between normal and ωi,j is θi,j – Point hit by ray from x in direction ωi,j is x’ 17 Monte Carlo path tracing https://en.wikipedia.org/wiki/Path_tracing • For each sample – Trace random path with given maximum length – Evaluate contribution to each term T{E}, T{T{E}}, T{T{T{E}}} for each new path segment, add them up • Pixel color is average over N samples • Tracing paths of certain length implemented as loop or recursion by tracing one ray segment after an other 18 Monte Carlo path tracing https://en.wikipedia.org/wiki/Path_tracing Returns one sample of E + T{E} + T{T{E}} + …+ Tmaxdepth{E} Check if maximum path length is reached Diffuse BRDF Recursive ray tracing 19 Monte Carlo path tracing • Each call to TracePath returns one sample of E + T{E} + T{T{E}} + …+ Tmaxdepth{E} • Color of each pixel is average over N samples – N calls to TracePath with initial ray starting at eye, going through pixel 20 Extensions to basic path tracing (material profided for interested readers, not considered part of course material) Advanced light transport effects • Reflection and refraction Advanced algorithms • Russian roulette • Bidirectional path tracing • Photon mapping … and much more (see further reading http://pbrt.org/) 21 Reflection and refraction https://en.wikipedia.org/wiki/Rendering_(computer_graphics) 22 Specular reflection & refraction • Perfectly flat, homogeneous materials – Mirror like reflection • Distinguish between dielectrics and conductors • Dielectrics (insulators) – Glass, plastic – Refraction: light enters material and is transmitted in it • Conductors – Metals – No light is transmitted in material • Snell‘s law determines angle of refraction • Fresnel equations determine amount of reflected and refracted light 23 Specular refraction • Light travels at different speeds in different media • Light is bent when it goes from one medium to another • Dielectric materials – Diamond, glass, water, air 24 Index of refraction • Speed of light depends on medium – Speed of light in vacuum – Speed of light in medium • Index of refraction – Air 1.00029 – Water 1.33 – Acrylic glass 1.49 25 Explanations • Fermat’s principle “The actual path between two points taken by a beam of light is the one which is traversed in the least time.“ http://en.wikipedia.org/wiki/Specular_reflection • “Change in phase velocity leads to bending of light rays” http://en.wikipedia.org/wiki/Snell%27s_law air water 26 Snell’s law http://en.wikipedia.org/wiki/Snell%27s_law • Ratio of sines of angles of incidence and refraction is equal to opposite ratio of indices of refraction • Vector form to obtain refracted direction r – Incoming direction v, outgoing refracted direction r – Normal vector n 27 Fresnel equations http://en.wikipedia.org/wiki/Fresnel_equations • Fresnel equations describe fraction of intensity of light that is reflected and refracted • Derived by solving the Maxwell equations – Takes into account polarization of light • Different versions for dielectrics and conductors • Full equations for dielectrics see http://en.wikipedia.org/wiki/Fresnel_equations 28 Path tracing refractive materials • Instead of randomly sampling direction, compute mirror reflection and refraction direction • Randomly pick one of them • Divide contribution by probability of choosing direction Randomly pick mirror reflection or refraction direction Fresnel term 29 Limitations • Caustics https://www.scratchapixel.com/lessons/3d-basic-rendering/global-illumination-path-tracing 30 Russian roulette • Avoid fixed maximum path length • In each step, stop with certain probability • If did not stop, weight contribution with 1/(probability to continue) 31 Extensions and improvements • Bidirectional path tracing: trace two path segments, one from eye, one from light, connect Path tracing Bidirectional path tracing 1024 samples per pixel (spp) 1024 samples per pixel (spp) http://www.jun.ninja/projects/tracy/ 32 Extensions and improvements • Photon mapping: two pass technique 1. Trace set of paths from light, store hit points as “photons” 2. Trace path from eye, look up stored photons (“photon map”)at hit point Path tracing Photon mapping 1024 samples per pixel (spp) Equal render time http://www.jun.ninja/projects/tracy/ 33 Extensions and improvements • Light transport in volumetric media – Clouds, fire, smoke, skin, etc. https://forum.unity.com/threads/experimentation-realistic-human-skin-rendering-with-screen-space-subsurface-scattering.442836/ 34 Further reading • PBRT, http://pbrt.org/ 35.
Recommended publications
  • Path Tracing
    Path Tracing Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Irradiance Circumference of a Circle • The circumference of a circle of radius r is 2πr • In fact, a radian is defined as the angle you get on an arc of length r • We can represent the circumference of a circle as an integral 2휋 푐푖푟푐 = 푟푑휑 0 • This is essentially computing the length of the circumference as an infinite sum of infinitesimal segments of length 푟푑휑, over the range from 휑=0 to 2π Area of a Hemisphere • We can compute the area of a hemisphere by integrating ‘rings’ ranging over a second angle 휃, which ranges from 0 (at the north pole) to π/2 (at the equator) • The area of a ring is the circumference of the ring times the width 푟푑휃 • The circumference is going to be scaled by sin휃 as the rings are smaller towards the top of the hemisphere 휋 2 2휋 2 2 푎푟푒푎 = sin 휃 푟 푑휑 푑휃 = 2휋푟 0 0 Hemisphere Integral 휋 2 2휋 2 푎푟푒푎 = sin 휃 푟 푑휑 푑휃 0 0 • We are effectively computing an infinite summation of tiny rectangular area elements over a two dimensional domain. Each element has dimensions: sin 휃 푟푑휑 × 푟푑휃 Irradiance • Now, let’s assume that we are interested in computing the total amount of light arriving at some point on a surface • We are essentially integrating over all possible directions in the hemisphere above the surface (assuming it’s opaque and we’re not receiving translucent light from below the surface) • We are integrating the light intensity (or radiance) coming in from every direction • The total incoming radiance over all directions in the hemisphere
    [Show full text]
  • Adjoints and Importance in Rendering: an Overview
    IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 9, NO. 3, JULY-SEPTEMBER 2003 1 Adjoints and Importance in Rendering: An Overview Per H. Christensen Abstract—This survey gives an overview of the use of importance, an adjoint of light, in speeding up rendering. The importance of a light distribution indicates its contribution to the region of most interest—typically the directly visible parts of a scene. Importance can therefore be used to concentrate global illumination and ray tracing calculations where they matter most for image accuracy, while reducing computations in areas of the scene that do not significantly influence the image. In this paper, we attempt to clarify the various uses of adjoints and importance in rendering by unifying them into a single framework. While doing so, we also generalize some theoretical results—known from discrete representations—to a continuous domain. Index Terms—Rendering, adjoints, importance, light, ray tracing, global illumination, participating media, literature survey. æ 1INTRODUCTION HE use of importance functions started in neutron importance since it indicates how much the different parts Ttransport simulations soon after World War II. Im- of the domain contribute to the solution at the most portance was used (in different disguises) from 1983 to important part. Importance is also known as visual accelerate ray tracing [2], [16], [27], [78], [79]. Smits et al. [67] importance, view importance, potential, visual potential, value, formally introduced the use of importance for global
    [Show full text]
  • LIGHT TRANSPORT SIMULATION in REFLECTIVE DISPLAYS By
    LIGHT TRANSPORT SIMULATION IN REFLECTIVE DISPLAYS by Zhanpeng Feng, B.S.E.E., M.S.E.E. A Dissertation In ELECTRICAL ENGINEERING DOCTOR OF PHILOSOPHY Dr. Brian Nutter Chair of the Committee Dr. Sunanda Mitra Dr. Tanja Karp Dr. Richard Gale Dr. Peter Westfall Peggy Gordon Miller Dean of the Graduate School May, 2012 Copyright 2012, Zhanpeng Feng Texas Tech University, Zhanpeng Feng, May 2012 ACKNOWLEDGEMENTS The pursuit of my Ph.D. has been a rather long journey. The journey started when I came to Texas Tech ten years ago, then took a change in direction when I went to California to work for Qualcomm in 2006. Over the course, I am privileged to have met the most amazing professionals in Texas Tech and Qualcomm. Without them I would have never been able to finish this dissertation. I begin by thanking my advisor, Dr. Brian Nutter, for introducing me to the brilliant world of research, and teaching me hands on skills to actually get something done. Dr. Nutter sets an example of excellence that inspired me to work as an engineer and researcher for my career. I would also extend my thanks to Dr. Mitra for her breadth and depth of knowledge; to Dr. Karp for her scientific rigor; to Dr. Gale for his expertise in color science and sense of humor; and to Dr. Westfall, for his great mind in statistics. They have provided me invaluable advice throughout the research. My colleagues and supervisors in Qualcomm also gave tremendous support and guidance along the path. Tom Fiske helped me establish my knowledge in optics from ground up and taught me how to use all the tools for optical measurements.
    [Show full text]
  • The Photon Mapping Method
    7 The Photon Mapping Method “I get by with a little help from my friends.” —John Lennon, 1940–1980 HOTON mapping is a practical approach for computing global illumination within complex P environments. Much like irradiance caching methods, photon mapping caches and reuses illumination information in the scene for efficiency. Photon mapping has also been successfully applied for computing lighting within, and in the presence of, participating media. In this chapter we briefly introduce the photon mapping technique. This sets the foundation for our contributions in the next chapter, which make volumetric photon mapping practical. 7.1 Algorithm Overview Photon mapping, introduced by Jensen[1995; 1996; 1997; 1998; 2001], is a practical approach for computing global illumination. At a high level, the algorithm consists of two main steps: Algorithm 7.1:PHOTONMAPPING() 1 PHOTONTRACING(); 2 RENDERUSINGPHOTONMAP(); In the first step, a lighting simulation is performed by tracing packets of energy, or photons, from light sources and storing these photons as they scatter within the scene. This processes 119 120 Algorithm 7.2:PHOTONTRACING() 1 n 0; e Æ 2 repeat 3 (l, pdf (l)) = CHOOSELIGHT(); 4 (xp , ~!p , ©p ) = GENERATEPHOTON(l ); ©p 5 TRACEPHOTON(xp , ~!p , pdf (l) ); 6 n 1; e ÅÆ 7 until photon map full ; 1 8 Scale power of all photons by ; ne results in a set of photon maps, which can be used to efficiently query lighting information. In the second pass, the final image is rendered using Monte Carlo ray tracing. This rendering step is made more efficient by exploiting the lighting information cached in the photon map.
    [Show full text]
  • Lighting - the Radiance Equation
    CHAPTER 3 Lighting - the Radiance Equation Lighting The Fundamental Problem for Computer Graphics So far we have a scene composed of geometric objects. In computing terms this would be a data structure representing a collection of objects. Each object, for example, might be itself a collection of polygons. Each polygon is sequence of points on a plane. The ‘real world’, however, is ‘one that generates energy’. Our scene so far is truly a phantom one, since it simply is a description of a set of forms with no substance. Energy must be generated: the scene must be lit; albeit, lit with virtual light. Computer graphics is concerned with the construction of virtual models of scenes. This is a relatively straightforward problem to solve. In comparison, the problem of lighting scenes is the major and central conceptual and practical problem of com- puter graphics. The problem is one of simulating lighting in scenes, in such a way that the computation does not take forever. Also the resulting 2D projected images should look as if they are real. In fact, let’s make the problem even more interesting and challenging: we do not just want the computation to be fast, we want it in real time. Image frames, in other words, virtual photographs taken within the scene must be produced fast enough to keep up with the changing gaze (head and eye moves) of Lighting - the Radiance Equation 35 Great Events of the Twentieth Century35 Lighting - the Radiance Equation people looking and moving around the scene - so that they experience the same vis- ual sensations as if they were moving through a corresponding real scene.
    [Show full text]
  • CS 184: Problems and Questions on Rendering
    CS 184: Problems and Questions on Rendering Ravi Ramamoorthi Problems 1. Define the terms Radiance and Irradiance, and give the units for each. Write down the formula (inte- gral) for irradiance at a point in terms of the illumination L(ω) incident from all directions ω. Write down the local reflectance equation, i.e. express the net reflected radiance in a given direction as an integral over the incident illumination. 2. Make appropriate approximations to derive the radiosity equation from the full rendering equation. 3. Match the surface material to the formula (and goniometric diagram shown in class). Also, give an example of a real material that reasonably closely approximates the mathematical description. Not all materials need have a corresponding diagram. The materials are ideal mirror, dark glossy, ideal diffuse, retroreflective. The formulae for the BRDF fr are 4 ka(R~ · V~ ), kb(R~ · V~ ) , kc/(N~ · V~ ), kdδ(R~), ke. 4. Consider the Cornell Box (as in the radiosity lecture, assume for now that this is essentially a room with only the walls, ceiling and floor. Assume for now, there are no small boxes or other furniture in the room, and that all surfaces are Lambertian. The box also has a small rectangular white light source at the center of the ceiling.) Assume we make careful measurements of the light source intensity and dimensions of the room, as well as the material properties of the walls, floor and ceiling. We then use these as inputs to our simple OpenGL renderer. Assuming we have been completely accurate, will the computer-generated picture be identical to a photograph of the same scene from the same location? If so, why? If not, what will be the differences? Ignore gamma correction and other nonlinear transfer issues.
    [Show full text]
  • Light (Technical)
    Chapter 21 Light (technical) In this chapter we will describe in more detail how light and reflections are properly measured and represented. These concepts may not be necessary for doing casual com- puter graphics, but they can become important in order to do high quality rendering. Such high quality rendering is often done using stand alone software and does not use the same rendering pipeline as OpenGL. We will cover some of this material, as it is perhaps the most developed part of advanced computer graphics. This chapter will be covering material at a more advanced level than the rest of this book. For an even more detailed treatment of this material, see Jim Arvo’s PhD thesis [3] and Eric Veach’s PhD thesis [71]. There are two steps needed to understand high quality light simulation. First of all, one needs to understand the proper units needed to measure light and reflection. This understanding directly leads to equations which model how light behaves in a scene. Secondly, one needs algorithms that compute approximate solutions to these equations. These algorithms make heavy use of the ray tracing infrastructure described in Chapter 20. In this chapter we will focuson the more fundamental aspect of deriving the appropriate equations, and only touch on the subsequent algorithmic issues. For more on such issues, the interested reader should see [71, 30]. Our basic mental model of light is that of “geometric optics”. We think of light as a field of photons flying through space. In free space, each photon flies unmolested in a straight line, and each moves at the same speed.
    [Show full text]
  • Photon Mapping
    Photon Mapping CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Photon mapping A two-pass method Pass 1: Build the photon map (photon tracing) Pass 2: Render the image using the photon map CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Building the Photon Map Photon Tracing CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Rendering using the Photon Map Rendering CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Photon Tracing Photon emission • Projection maps • Photon scattering • Russian Roulette • The photon map data structure • Balancing the photon map • CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen What is a photon? Flux (power) - not radiance! • Collection of physical photons • ⋆ A fraction of the light source power ⋆ Several wavelengths combined into one entity CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Photon emission Given Φ Watt lightbulb. Emit N photons. Each photon has the power Φ Watt. N Photon power depends on the number of emitted • photons. Not on the number of photons in the photon map. CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Diffuse point light Generate random direction Emit photon in that direction // Find random direction do { x = 2.0*random()-1.0; y = 2.0*random()-1.0; z = 2.0*random()-1.0; while ( (x*x + y*y + z*z) > 1.0 ); } CSE272: Advanced Image Synthesis (Spring 2010) Henrik Wann Jensen Example: Diffuse square light - Generate random position p on square - Generate diffuse direction
    [Show full text]
  • A New Ray-Tracing Based Wave Propagation Model Including Rough Surfaces Scattering
    Progress In Electromagnetics Research, PIER 75, 357–381, 2007 A NEW RAY-TRACING BASED WAVE PROPAGATION MODEL INCLUDING ROUGH SURFACES SCATTERING Y. Cocheril and R. Vauzelle SIC Lab., Universit´e de Poitiers Bˆat. SP2MI, T´el´eport 2, Blvd Marie et Pierre Curie BP 30179, 86962 Futuroscope Chasseneuil Cedex, France Abstract—This paper presents a complete ray-tracing based model which takes into account scattering from rough surfaces in indoor environments. The proposed model relies on a combination between computer graphics and radar techniques. The paths between the transmitter and the receiver are found thanks to a Bi-Directional Path-Tracing algorithm, and the scattering field after each interaction between the electromagnetic wave and the environment is computed according to the Kirchhoff Approximation. This propagation model is implemented as a plug-in in an existing full 3-D ray-tracing software. Thus, we compare the results of classical ray-tracing with those of our model to study the influence of the scattering phenomenon on the wave propagation in typical indoor environments. 1. INTRODUCTION Millimetric systems, which supply wide band applications like wireless local area networks, are currently attracting a lot of interest. The carrier frequencies of these systems increase up to 10 GHz to transmit multimedia information in indoor environments like full high definition videos. In order to deploy such high bit rate wireless systems, the study of radio channel behaviour is necessary depending on specific wave propagation conditions. There are many methods for studying radio channels. In respect of the millimetric waves studied in this paper, numerical and rigorous methods like FDTD, MoM or Integral Methods are not suitable.
    [Show full text]
  • 1 Overview Purpose Rendering Equation Rendering Equation
    Overview Extremely over-simplified view of graphics (60 min) IMGD 3000: Basic Computer Graphics Purpose of Computer Graphics in a Game Engine Representations of Data William DiSanto Geometry Computer Science Dept. Light Worcester Polytechnic Institute (WPI) Maps Rendering Courses Purpose Rendering Equation A first look at: Some kinds of graphical information games require Games/Real Time rendering: Discussion on why some simplifications are made Find ways to simplify the rendering equation Free engines Target ~30+ frames per second Where to find out more Some examples in games if we have time We will glance at a small portion of the devices used in making game images realistic or at least appealing. Rendering Equation Some Representations of Data Integrate over the hemisphere Following slides present objects that have the Find the amount of light in some surrounding the point x. direction w to some point x on a following attributes: surface. Incoming light for a direction w’ All are used in modern games/engines Relatively quick and easy to compute Can be fitted to real world data within some measure of Lambert’s Law accuracy The point x may itself emit light. Cannot necessarily represent real world data exactly For now consider the data to represent some solid object Consider, the material at point x may alter the reflected light in Integrate with small some way for different pairs of solid angles. input and output directions. 1 Exact Mesh Use equations, parametric functions, etc. Mesh: connected set of vertices
    [Show full text]
  • A Practical Analytic Model for Daylight
    A Practical Analytic Model for Daylight A. J. Preetham Peter Shirley Brian Smits University of Utah www.cs.utah.edu Figure 1: Left: A rendered image of an outdoor scene with a constant colored sky and no aerial perspective. Right: The same image with a physically-based sky model and physically-based aerial perspective. Abstract 1 Introduction Sunlight and skylight are rarely rendered correctly in computer Most realistic rendering research has dealt with indoor scenes. In- graphics. A major reason for this is high computational expense. creased computing power and ubiquitous measured terrain data has Another is that precise atmospheric data is rarely available. We made it feasible to create increasingly realistic images of outdoor present an inexpensive analytic model that approximates full spec- scenes. However, rendering outdoor scenes is not just a matter trum daylight for various atmospheric conditions. These conditions of scaling up rendering technology originally developed for indoor are parameterized using terms that users can either measure or esti- scenes. Outdoor scenes differ from indoor scenes in two important mate. We also present an inexpensive analytic model that approxi- aspects other than geometry: most of their illumination comes di- mates the effects of atmosphere (aerial perspective). These models rectly from the sun and sky; and the distances involved make the are fielded in a number of conditions and intermediate results ver- effects of air visible. These effects are manifested as the desatura- ified against standard literature from atmospheric science. These tion and color shift of distant objects and is usually known as aerial models are analytic in the sense that they are simple formulas based perspective.
    [Show full text]
  • Optical Models for Direct Volume Rendering
    Optical Models for Direct Volume Rendering Nelson Max University of California, Davis, and Lawrence Livermore National Laboratory Abstract This tutorial survey paper reviews several different models for light interaction with volume densities of absorbing, glowing, reflecting, and/or scattering material. They are, in order of increasing realism, absorption only, emission only, emission and absorption combined, single scattering of external illumination without shadows, single scattering with shadows, and multiple scattering. For each model I give the physical assumptions, describe the applications for which it is appropriate, derive the differential or integral equations for light transport, present calculations methods for solving them, and show output images for a data set representing a cloud. Special attention is given to calculation methods for the multiple scattering model. 1. Introduction A scalar function on a 3D volume can be visualized in a number of ways, for example by color contours on a 2D slice, or by a polygonal approximation to a contour surface. Direct volume rendering refers to techniques which produce a projected image directly from the volume data, without intermediate constructs such as contour surface polygons. These techniques require some model of how the data volume generates, reflects, scatters, or occludes light. This paper presents a sequence of such optical models with increasing degrees of physical realism, which can bring out different features of the data. In many applications the data is sampled on a rectilinear grid, for example, the computational grid from a finite difference simulation, or the grid at which data are reconstructed from X-ray tomography or X-ray crystallography. In other applications, the samples may be irregular, as in finite element or free lagrangian simulations, or with unevenly sampled geological or meteorolog- ical quantities.
    [Show full text]