Smooth Probabilistic Ambient Occlusion for Volume Rendering

Similar documents
Monte Carlo Rendering

Mathematics 256 a course in differential equations for engineering students

A Binarization Algorithm specialized on Document Images and Photos

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

S1 Note. Basis functions.

Array transposition in CUDA shared memory

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Hermite Splines in Lie Groups as Products of Geodesics

Feature Reduction and Selection

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Surface Mapping One. CS7GV3 Real-time Rendering

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

Interactive Virtual Relighting of Real Scenes

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION?

Wishing you all a Total Quality New Year!

A Modified Median Filter for the Removal of Impulse Noise Based on the Support Vector Machines

Some Tutorial about the Project. Computer Graphics

An Entropy-Based Approach to Integrated Information Needs Assessment

Problem Set 3 Solutions

Implementation of a Dynamic Image-Based Rendering System

Lecture 5: Multilayer Perceptrons

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

The Codesign Challenge

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

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

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

Interactive Rendering of Translucent Objects

AVO Modeling of Monochromatic Spherical Waves: Comparison to Band-Limited Waves

Real-time. Shading of Folded Surfaces

High-Boost Mesh Filtering for 3-D Shape Enhancement

Lecture #15 Lecture Notes

Robust Soft Shadow Mapping with Depth Peeling

THE PULL-PUSH ALGORITHM REVISITED

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

Global Illumination: Radiosity

Monte Carlo 1: Integration

Reducing Frame Rate for Object Tracking

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Electrical analysis of light-weight, triangular weave reflector antennas

X- Chart Using ANOM Approach

Cluster Analysis of Electrical Behavior

Edge Detection in Noisy Images Using the Support Vector Machines

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur

Robust Soft Shadow Mapping with Backprojection and Depth Peeling

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Sequential search. Building Java Programs Chapter 13. Sequential search. Sequential search

Monte Carlo 1: Integration

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

Random Kernel Perceptron on ATTiny2313 Microcontroller

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Support Vector Machines

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

Design of a Real Time FPGA-based Three Dimensional Positioning Algorithm

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

Vanishing Hull. Jinhui Hu, Suya You, Ulrich Neumann University of Southern California {jinhuihu,suyay,

UB at GeoCLEF Department of Geography Abstract

APPLICATION OF A COMPUTATIONALLY EFFICIENT GEOSTATISTICAL APPROACH TO CHARACTERIZING VARIABLY SPACED WATER-TABLE DATA

Local and Global Accessibility Evaluation with Tool Geometry

y and the total sum of

Pictures at an Exhibition

Active Contours/Snakes

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

Parallelism for Nested Loops with Non-uniform and Flow Dependences

An Optimal Algorithm for Prufer Codes *

SAO: A Stream Index for Answering Linear Optimization Queries

Color in OpenGL Polygonal Shading Light Source in OpenGL Material Properties Normal Vectors Phong model

Review of approximation techniques

Module Management Tool in Software Development Organizations

3D vector computer graphics

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

User Authentication Based On Behavioral Mouse Dynamics Biometrics

Private Information Retrieval (PIR)

Meta-heuristics for Multidimensional Knapsack Problems

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

High resolution 3D Tau-p transform by matching pursuit Weiping Cao* and Warren S. Ross, Shearwater GeoServices

Monte Carlo Integration

Related-Mode Attacks on CTR Encryption Mode

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Unsupervised Learning

Scan Conversion & Shading

Optimal Workload-based Weighted Wavelet Synopses

Computer models of motion: Iterative calculations

Plane Sampling for Light Paths from the Environment Map

Optimal Scheduling of Capture Times in a Multiple Capture Imaging System

Object-Based Techniques for Image Retrieval

Diffuse and specular interreflections with classical, deterministic ray tracing

Load Balancing for Hex-Cell Interconnection Network

Classification Based Mode Decisions for Video over Networks

Complex Filtering and Integration via Sampling

Wavefront Reconstructor

Resolving Ambiguity in Depth Extraction for Motion Capture using Genetic Algorithm

Transcription:

Smooth Probablstc Ambent Occluson for Volume Renderng Thomas Kroes, Drk Schut, and Elmar Esemann 1.1 Introducton Ambent occluson [Zhukov et al. 98] s a compellng approach to mprove depth and shape percepton [Lndemann and Ropnsk 11, Langer and Bülthoff 99], to gve the lluson of global llumnaton, and t s an effcent way to approxmate low-frequency outdoor lghtng. In prncple, ambent occluson computes the lght accessblty of a pont,.e., t measures how much a pont s exposed to ts surroundng envronment. An effcent and often used verson of ambent occluson s Screen Space Ambent Occluson [Kajaln 09]. It uses the depth buffer to compute an approxmate vsblty. Ths method s very appealng, snce the computatonal overhead of ths method s mnmal. However t cannot be appled to drect volume renderng (DVR) because voxels are typcally semtransparent (defned va a transfer functon). Consequently, a depth buffer would be ambguous and s not useful n ths context. The frst method to compute ambent occluson n drect DVR, called Vcnty Shadng, was developed by Steward [Stewart 03]. Ths method computes the ambent occluson n each voxel by takng nto account how much the neghborng voxels obscure t. The resultng llumnaton s stored n an addtonal volume, whch needs to be recomputed after each scene modfcaton. Smlarly, Hernell et al. [Hernell et al. 10] compute ambent occluson by raytracng nsde a small neghborhood around the voxel. Kroes et al. extend ths method by takng the entre volume nto account [Kroes et al. 12]. Our approach tres to avod costly ray tracng and casts the problem nto a flterng process. In ths sense, t s smlar n sprt to Penner et al. [Penner and Mtchell 08], who use statstcal nformaton about the neghborhood of the voxels to estmate ambent occluson, as well as the method by Ropnsk et al. whch s smlar and also adds color bleed- 1

2 1. Smooth Probablstc Ambent Occluson for Volume Renderng Fgure 1.1: Left: The hemsphere around a pont whch determnes ambent occluson. The blue part s unoccluded. Rght: Volumetrc obscurance reles on a full sphere. ng [Ropnsk et al. 08]. Furthermore, our approach relates to Crassn et al. [Crassn et al. 10] who propose to use flterng for shadow and out-offocus computatons. Our Smooth Probablstc Ambent Occluson (SPAO) s a novel and easy-to-mplement soluton for ambent occluson n DVR. Instead of applyng costly ray castng to determne the accessblty of a voxel, ths technque employs a probablstc heurstc n concert wth 3D mage flterng. In ths way, ambent occluson can be effcently approxmated and t s possble to nteractvely modfy the transfer functon, whch s crtcal n many applcatons, such as medcal and scentfc DVR. Furthermore, our method offers varous qualty trade-offs regardng memory, performance, and vsual qualty. Only very few texture look-ups are needed n comparson to ray-castng solutons and the nterpretaton as a flterng process ensures a nose-free and smooth appearance. 1.2 Smooth Probablstc Ambent Occluson There are varous defntons for ambent occluson. Here, we defne t as the part of a pont that s accessble from the outsde world. A 2D example s gven n Fgure 1.1 and llustrates the ambent occluson computaton. More formally the ambent-occluson value A(p, n) s gven by the ntegral of the vsblty functon over the hemsphere Ω centered around a pont p n the drecton of the normal n of that pont: A(p, n) := 1 V (p, ω)dω, π Ω(n) where V s the vsblty functon. In other words, V stems from the volume data tself after t was transformed by the transfer functon. V (p, ω) s 0 f the ray from pont p n drecton ω s blocked, 1 f t s unblocked, and an ntermedate value attenuates the ray. To smplfy the descrpton, we wll only use the noton of blocked and unblocked rays n the followng. Please

1.2. Smooth Probablstc Ambent Occluson 3 notce that we can nterpret ntermedate values of V as a probablty for a ray to be blocked. For example, f V returns a value of 0.5, there s a 50% chance for a ray to be blocked. It s also possble to ntegrate the vsblty functon over the whole sphere around a pont, makng Ω a full sphere, nstead of a hemsphere, and makng t ndependent of n. The result s called obscurance and denoted A(p), and produces smlar effects. Calculatng obscurance nstead of ambent occluson has the advantage that t does not requre a normal. However, ths defnton wll lead to parts of the volume that are located behnd the pont to ntervene n the computaton. Ths property can be a dsadvantage for standard scenes, as the result mght become too dark, but n the context of DVR, t s sometmes even preferable, as t wll unvel nformaton below the surface, whch s often desred. Both, ambent occluson and obscurance, only depend on the geometry of the volume. Therefore they can be stored n an addtonal volume that s then used to modulate the orgnal volume s llumnaton. The occluson values can be calculated drectly from the opacty of the orgnal volume. Nonetheless, the values have to be recomputed when the orgnal volume changes, for example when the user changes the transfer functon. Ths latter step can be very costly and makes t mpossble to nteract wth transfer functons, whle mantanng a hgh vsual fdelty. Our approach s fast to compute and enables a user to quckly apply such modfcatons wthout havng to wat a long tme for the result. Intally, our soluton wll be explaned n the context of obscurance, but n Secton 1.3, we wll extend our algorthm to approach ambent occluson by makng use of the normals to reduce the nfluence of the part of the volume below the surface. 1.2.1 Overvew To approxmate obscurance at a certan pont n the volume, we avod ray castng. Instead, we ntroduce an approxmaton, whch s based on the probablty of the rays beng blocked by the volume. Instead of solvng A(p) and ts ntegral entrely, we consder a lmted regon around p, formed by volumes of ncreasng sze. The volume between successve volumes forms a layer of voxels, a so-called shell (Fgure 1.2). We wll show how to derve the probablty of a random ray to be blocked by a shell. From ths result, we deduce an approxmaton of the ntegral A(p) assumng that the entre volume s represented by a sngle shell. Fnally, the results for these varous shells are combned heurstcally to yeld our occluson approxmaton for the entre volume. Frst, we consder shells beng represented by a sphere wth a one-voxelwde boundary S. These shells are formed by a set of successve spheres,

4 1. Smooth Probablstc Ambent Occluson for Volume Renderng Fgure 1.2: A shell s a layer of voxels formed by the dfference between two dfferently-szed volumes. By creatng a cascade of these volumes, a set of shells s formed. For each shell, we approxmate the probablty of a ray to be blocked and combne these probabltes heurstcally to form the fnal obscurance value. whch each grow n radus by one voxel. In ths stuaton, f we consder one ndependent shell, any random ray sent from ts center wll ntersect exactly one voxel. If all drectons are equally lkely the probablty for a ray to be blocked then bols down to an average of all voxel values n the shell Average S (p). Lookng carefully at ths defnton, t turns out that ths probablty s equvalent to solvng for A n the presence of a sngle shell. If we now decompose the volume nto such a set of shells around a pont, we can compute the probablty of the rays to be blocked by each shell, but stll need to combne all these blockng contrbutons together. In order to do so, we make use of a heurstc. We assume a statstcal ndependence between the value dstrbutons n the varous shells. The probablty of rays orgnatng at p to be blocked by a set of n englobng shells {S } n =1 ordered from small to large s then gven by: n (1 Average S (p)). =1 To understand ths formula, t helps consderng only two layers {S 1, S 2 }. A random ray from p traverses S 1 wth probablty (1 Average S1 (p)). If ths ray passed S 1, t s agan, potentally, stopped by S 2, ths tme wth probablty (1 Average S2 (p)), yeldng a total probablty of (1 Average S1 (p))(1 Average S2 (p)). In the followng, we wll descrbe an effcent and GPU-frendly approach to compute an approxmaton of ths soluton.

1.2. Smooth Probablstc Ambent Occluson 5 Fgure 1.3: In ths 2D llustraton, the shell on the rght s a one voxel thck hull that s formed by subtractng the average opacty from level 1 n the mddle from level 2 on the left. Fgure 1.4: Cube shells used to approxmate obscurance. 1.2.2 Approxmatng Obscurance for Cube Shells In practce, we wll use box-shaped shells nstead of spheres (Fgure 1.3). We wll show n the next secton that ths choce wll allow us to beneft from GPU texture flterng to compute Average S, makng the algorthm very effcent. The cubes are chosen to be of ncreasng sze and centered at each pont p of the volume. The shells are then defned by hollowng out these cubes by subtractng the next-smaller cube from ts successor. In realty, these cubes wll never have to be explctly constructed, but t s helpful to thnk of them for llustratve purposes. The process s llustrated n Fgure 1.4. Followng the prevously descrbed steps, we need to deduce Average S for each of the shells, whch n our new stuaton corresponds to the average

6 1. Smooth Probablstc Ambent Occluson for Volume Renderng 0,0 0,0 0,0 0,0 0,0 0,1 0,0 0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,1 0,1 0,1 0,0 0,0 0,0 0,0 1,0 0,0 0,0 0,1 0,3 0,1 0,0 0,0 0,0 0,0 1,0 1,0 1,0 1,0 0,3 0,3 0,3 0,1 0,0 0,5 1,0 1,0 1,0 1,0 0,5 0,3 0,3 0,3 0,1 0,5 0,5 0,5 1,0 1,0 0,5 0,3 0,3 0,3 0,1 0,0 0,5 0,5 1,0 1,0 0,5 1,0 0,3 0,1 0,0 0,0 0,5 0,0 0,0 1,0 1,0 1,0 0,1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,3 0,3 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,3 0,3 0,0 0,0 0,1 0,1 0,0 0,0 0,0 0,0 0,0 0,5 0,5 0,0 0,1 0,2 0,2 0,1 0,0 0,0 0,0 0,0 0,5 0,8 0,5 0,5 0,4 0,3 0,2 0,1 0,0 0,0 0,1 0,6 1,0 1,0 1,0 0,7 0,4 0,3 0,3 0,1 0,0 0,3 0,6 0,8 0,9 1,0 0,8 0,4 0,3 0,3 0,2 0,1 0,1 0,4 0,5 0,8 1,0 0,8 0,6 0,5 0,3 0,1 0,0 0,0 0,3 0,4 0,4 0,8 0,9 0,9 0,6 0,1 0,0 0,0 0,0 0,1 0,1 0,0 0,3 0,6 0,7 0,4 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,1 0,2 0,1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,1 0,1 0,1 0,1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,1 0,1 0,1 0,1 0,0 0,1 0,1 0,0 0,0 0,0 0,0 0,2 0,3 0,3 0,4 0,3 0,2 0,2 0,1 0,1 0,0 0,0 0,3 0,4 0,5 0,6 0,5 0,4 0,3 0,2 0,1 0,1 0,1 0,3 0,4 0,6 0,8 0,6 0,5 0,4 0,3 0,2 0,1 0,1 0,3 0,4 0,7 0,9 0,8 0,7 0,6 0,4 0,3 0,1 0,1 0,2 0,3 0,5 0,7 0,7 0,8 0,6 0,4 0,3 0,1 0,0 0,1 0,2 0,3 0,5 0,5 0,6 0,5 0,4 0,2 0,1 0,0 0,1 0,1 0,2 0,3 0,3 0,4 0,4 0,3 0,2 0,0 0,0 0,0 0,0 0,0 0,1 0,1 0,2 0,2 0,2 0,1 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 Fgure 1.5: 2D Example of how N-buffers are calculated. A dataset s shown on the left, wth the frst two n buffer levels next to t. In each level the average of four values of the prevous level s combned nto one value. of all voxel values between two successve cubes. If we assume for now that we have a quck way of determnng the average nsde of a complete cube, we can rapdly determne Average S. To llustrate ths computaton, we wll assume that we want to determne Average S of a shell S defned two cubes C 1 and C 2, wth voxel-value averages A 1 and A 2 and number of voxels S 1, S 2 (S 1 < S 2 ), respectvely. The soluton s then gven by: Average S = (S 2 A 2 S 1 A 1 )/(S 2 S 1 ) In other words, we can subtract from the total voxel sum of one cube S 2 A 2, the total voxel sum of the next-smaller one (S 2 A 2 ) and normalze the result by the number of voxels n the shell between both (Fgure 1.3, lower row). Please notce, that the above formula can be rewrtten to: Average S = 1/(1 S 1 /S 2 )(A 2 (S 1 /S 2 )A1) - n consequence, only the average and the relatve change n sze (S 1 /S 2 ) s needed to deduce Average(S), whch facltates computatons further. Imagne, each cube s obtaned by doublng the length of each edge of the predecessor. Then the rato would be 1 : 8, resultng n Average S = 8/7(A 2 1/8 A 1 ). 1.2.3 Fast Cube Averages In the prevous secton, we assumed to have a quck method to determne the average nsde of a cube. Here, we wll propose two possble solutons to ths problem. Our observaton s that, for a gven cube sze, the averages are equvalent to a box-flterng of the volume. Determnng averages of varous kernel szes s a common problem n computer graphcs n the context of texture mappng. These technques translate to correspondng operatons n a 3D volume. The most common such approxmaton s mpmappng, but we wll also present N-Buffers [Décoret 05], whch delver hgher qualty flterng at an addtonal cost.

1.3. Approxmatng Ambent Occluson 7 (a) (b) (c) Fgure 1.6: Volumetrc obscurance usng a) raytacng (256 rays/voxel) b) Mpmap flterng c) N-buffer flterng As mpmaps are rather standard, we wll only focus on N-buffers here. Lke mpmaps, they consst of multple levels l, each representng the average values of the orgnal volume nsde cubes of wdth 2 l. Unlke mpmaps, the resoluton of N-buffers s not reduced n each level. In consequence, t s possble to retreve the exact flled part of a cube at every poston n the volume, whereas for a mpmap lnear nterpolaton can provde only an approxmaton based on the eght closest voxels, whch reduces the qualty (Fgure 1.6). The N-Buffer constructon s effcent, as each new level can be computed from the prevous usng only 8 lookups. A 2D example of the calculaton s shown n Fgure 1.5. Nonetheless, N-Buffers result n hgher memory consumpton, so t can be useful to apply a few mpmap levels before processng the rest usng N-Buffers. 1.3 Approxmatng Ambent Occluson In Secton 1.2, we explaned that ambent occluson n comparson wth obscurance can provde cues that are closer to realstc lghtng because voxels behnd the pont of nterest are not taken nto account. To reduce ths effect, we can offset the lookup operatons n the drecton of the normal. When choosng the offset carefully, the ncrease n sze of the cubes and the offset can be correlated to obtan shells that correspond now to hemspheres. Ths goal can be acheved by multplyng the normal vector by half the sze of the box. An example wth a shorter vector s llustrated n Fgure 1.7. However, n DVR a normal s not always clearly defned, e.g., nsde

8 1. Smooth Probablstc Ambent Occluson for Volume Renderng Fgure 1.7: The lookups of the cubes from a pont wth a normal of length 0.75 n the upwards drecton. (a) Factor 0.0 (No normal correcton) (b) Factor 0.5 (c) Factor 1.0 (d) Factor 2.0 Fgure 1.8: Effect of the normal factor a homogeneous sem-transparent volume, e.g., a jelly puddng. Smlarly, between two dfferent sem-transparent voxels t mght be less clear how to defne a normal at the nterface between opaque and transparent materals. In consequence, we propose to scale the cube offset based on how strong the gradent s. Interestngly, whle most technques derve normals from the normalzed gradent va central dfferences, we can use the gradent magntude to determne f a normal s clearly defned. Hence, we propose to remove the normalzaton operaton and nstead normalze the voxel values themselves to the range [0,1], whch wll lead to the gradent becomng an approprately-scaled normal. Addtonally, we allow the user to specfy a global scale to ether pronounce or reduce the mpact of ths ambentoccluson approxmaton (Fgure 1.8).

1.4. Results 9 N-buffers Mpmaps Raytaced, 512 rays Level 0 30.93 ms 33.00 ms - Level 1 33.99 ms 4.58 ms - Level 2 40.13 ms 0.66 ms - Level 3 41.16 ms 0.17 ms - Level 4 42.69 ms 0.14 ms - Level 5 38.09 ms 0.13 ms - Level 6 41.91 ms 0.12 ms - Levels Total 268.90 ms 38.8 ms - AO Computaton 63.24 ms 110.39 ms 425.36 sec Total 332.14 ms 149.19 ms 425.36 sec Table 1.1: Performance measurements for the Macoessx data set (512 x 512 x 512) for N-buffers and mpmaps based SPAO. For each technque we show the tme t takes to compute the ndvdual levels and to combne them nto an ambent occluson volume. 1.4 Results Our method has been mplemented n a CUDA-based stand-alone software program for drect DVR. The program and ts source code are avalable under the orgnal BSD lcense. It s shpped wth sample data sets. The transfer functon and, thus, the vsual representaton can be changed onthe-fly. Also, the user can select from three dfferent methods of ambent occluson computaton: mpmaps, N-buffers, and ray tracng. Our program makes use of CUDA 3.0 texture objects and wll not support lower CUDA versons. We tested the performance of our technque usng the publcly avalable Macoessx data set from the Osrx Webste 1, see Table 1.1. All tests were peformed on an Intel(r) Xeon(r) W3530 (2.80 GHz) workstaton wth 12 GB RAM and a GeForce GTX TITAN Graphcs Card wth 4 GB of RAM. N-buffers are slghtly more costly than Mpmaps, but both are orders of magntude faster than a volumetrc ambent-occluson ray tracer. The latter takes more than four mnutes, see Table 1.1. Fgure 1.9 shows some results of our approach on the Backpack and Manx data sets. 1 http://www.osrx-vewer.com/datasets/

10 1. Smooth Probablstc (a) Backpack data set Ambent Occluson for Volume Renderng (b) Manx data set Fgure 1.9: SPAO appled to the Backpack (512 x 512 x 461) and Manx (512 x 512 x 460) data sets. 1.5 Concluson Ths chapter presents a novel approach to compute ambent occluson for drect DVR. We demonstrate that, by consderng the ambent-occluson computaton as a flterng process, we can sgnfcantly mprove effcency and make t usable n a real-tme DVR applcaton. Such an approach s useful for medcal vsualzaton applcatons were transfer functons are very often subject to change. Our approach s smple to mplement and effcent and leads to a very good qualty/performance tradeoff. Nonetheless, we also expermented wth more complex combnatons of the shells, especally, as the assumpton of ndependence of the occluson probabltes s usually not true n most data sets. In practce, t turns out that our soluton seems to be a good choce and any ncrease n complexty also led to a sgnfcant performance mpact. Nonetheless, ths topc remans nterestng future work. Further, we would lke to nvestgate to approxmate physcally-plausble lght transport, such as global llumnaton, wth our flterng technque, whch could further enhance the volume depcton.

BIBLIOGRAPHY 11 Bblography [Crassn et al. 10] Cyrl Crassn, Fabrce Neyret, Mguel Sanz, and Elmar Esemann. GPU Pro, Chapter X.3 Effcent Renderng of Hghly Detaled Volumetrc Scenes wth GgaVoxels, pp. 643 676. AK Peters, 2010. [Décoret 05] Xaver Décoret. N-Buffers for effcent depth map query., 2005. Avalable onlne (http://maverck.nra.fr/publcatons/2005/ Dec05). [Hernell et al. 10] Frda Hernell, Patrc Ljung, and Anders Ynnerman. Local ambent occluson n drect volume renderng., 2010. [Kajaln 09] Vladmr Kajaln. Screen Space Ambent Occluson. In ShaderX7, edted by Wolfgang Engel. Boston: Cengage Learnng, 2009. [Kroes et al. 12] Thomas Kroes, Frts H Post, and Charl P Botha. Exposure render: An nteractve photo-realstc volume renderng framework., 2012. [Langer and Bülthoff 99] Mchael S Langer and Henrch H Bülthoff. Depth dscrmnaton from shadng under dffuse lghtng., 1999. [Lndemann and Ropnsk 11] Floran Lndemann and Tmo Ropnsk. About the Influence of Illumnaton Models on Image Comprehenson n Drect Volume Renderng., 2011. [Penner and Mtchell 08] Erc Penner and Ross Mtchell. Isosurface ambent occluson and soft shadows wth flterable occluson maps., 2008. [Ropnsk et al. 08] Tmo Ropnsk, Jenns Meyer-Spradow, Stefan Depenbrock, Jörg Mensmann, and Klaus Hnrchs. Interactve volume renderng wth dynamc ambent occluson and color bleedng., 2008. [Stewart 03] A James Stewart. Vcnty shadng for enhanced percepton of volumetrc data., 2003. [Zhukov et al. 98] Sergey Zhukov, Andre Iones, and Grgorj Kronn. An ambent lght llumnaton model., 1998.