interactive edge-diffraction for sound propagation in complex...

10
Interactive Edge-Diffraction for Sound Propagation in Complex Virtual Environments Micah Taylor * Anish Chandak Zhimin Ren Christian Lauterbach § Dinesh Manocha Figure 1: The frequency spectrum is shown for the direct contribution and the diffraction contribution from the door edge. As the door closes, the signal is appropriately attenuated for both distance and diffraction from the door edge. Scenes such as this one, with dynamic sources, receivers, and geometry, can be rendered at interactive rates with our system. Abstract We present an algorithm for interactive computation of diffrac- tion paths for geometric-acoustics in complex environments. Our method extends ray-frustum tracing [Lauterbach et al. 2007] to efficiently compute volumetric regions of the sound field caused by long diffracting edges. We compute accurate diffraction paths from each source to the listener and based on the Uniform Theory of Diffraction, attenuate the input audio. The overall approach is general, can handle dynamic scenes, and can be used to compute diffraction and specular reflection paths with relatively little alias- ing. We evaluate the accuracy through comparisons with physically validated geometric simulations. In practice, our edge diffraction algorithm can perform sound propagation at interactive rates in dy- namic scenarios on a multi-core PC. Keywords: sound, diffraction, ray-tracing, frustum-tracing 1 Introduction Modeling realistic propagation of sound in virtual environments provides important cues for user immersion. There are many ap- plications of sound rendering including acoustic design of architec- * e-mail: [email protected] e-mail:[email protected] e-mail:[email protected] § e-mail:[email protected] e-mail:[email protected] tural models or outdoor scenes, modeling noise pollution in urban scenes with traffic, realistic training simulations, and interactive en- tertainment media. Sound rendering can also be combined with visual rendering to provide a more immersive experience [Loftin 2003] or used for development of an auditory display [Smith 1993; Garcia-Ruiz and Gutierrez-Pulido 2006] to provide spatial cues. A sound propagation algorithm takes into account the knowledge of sound sources, listener locations, the 3D model of the environ- ment, and material absorption data to generate realistic audio out- put. There is extensive literature on simulating the propagation of sound, including reflections and diffraction. However, most result- ing methods do not provide the flexibilty and efficiency needed for use in interactive virtual environments. For example, most games use statically designed environment reverberation filters that are computed based on occlusion and obstruction between the sound source and the listener. Some games (e.g. Crackdown 1 ) use the no- tion of audio shaders that identify the surrounding geometric primi- tives and dynamically adjust the time delays of the direct sound and the audio responses received from sound reflections. In this paper, we primarily focus on simulating edge diffraction for sound propagation. Diffraction is an important effect that causes sound to scatter when encountering objects of similar size to the wavelength, which can result in audio energy being propagated to positions that are out of line-of-sight. In acoustic simulation, diffraction effects are primarily modeled at the edges of the objects in the scene. The computation of diffraction region can convey im- portant audio cues from sources that are not visible to the listener, and thereby more listener positions receive contributions from the sound source. It is necessary to simulate diffraction accurately in order to obtain a more realistic and smooth transitions when the listener or the source is moving. The accurate solution of diffraction involves numerically solving the wave equation. However, the high computational requirements of numerical solvers limit their use to offline simulations. As a re- sult, current interactive sound propagataion methods are based on 1 http://interviews.teamxbox.com/xbox/1885/The-Audio-of- Crackdown/p1/

Upload: others

Post on 19-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

Interactive Edge-Diffraction for Sound Propagation in Complex VirtualEnvironments

Micah Taylor∗ Anish Chandak† Zhimin Ren‡ Christian Lauterbach§ Dinesh Manocha¶

Figure 1: The frequency spectrum is shown for the direct contribution and the diffraction contribution from the door edge. As the door closes,the signal is appropriately attenuated for both distance and diffraction from the door edge. Scenes such as this one, with dynamic sources,receivers, and geometry, can be rendered at interactive rates with our system.

Abstract

We present an algorithm for interactive computation of diffrac-tion paths for geometric-acoustics in complex environments. Ourmethod extends ray-frustum tracing [Lauterbach et al. 2007] toefficiently compute volumetric regions of the sound field causedby long diffracting edges. We compute accurate diffraction pathsfrom each source to the listener and based on the Uniform Theoryof Diffraction, attenuate the input audio. The overall approach isgeneral, can handle dynamic scenes, and can be used to computediffraction and specular reflection paths with relatively little alias-ing. We evaluate the accuracy through comparisons with physicallyvalidated geometric simulations. In practice, our edge diffractionalgorithm can perform sound propagation at interactive rates in dy-namic scenarios on a multi-core PC.

Keywords: sound, diffraction, ray-tracing, frustum-tracing

1 Introduction

Modeling realistic propagation of sound in virtual environmentsprovides important cues for user immersion. There are many ap-plications of sound rendering including acoustic design of architec-

∗e-mail: [email protected]†e-mail:[email protected]‡e-mail:[email protected]§e-mail:[email protected]¶e-mail:[email protected]

tural models or outdoor scenes, modeling noise pollution in urbanscenes with traffic, realistic training simulations, and interactive en-tertainment media. Sound rendering can also be combined withvisual rendering to provide a more immersive experience [Loftin2003] or used for development of an auditory display [Smith 1993;Garcia-Ruiz and Gutierrez-Pulido 2006] to provide spatial cues.

A sound propagation algorithm takes into account the knowledgeof sound sources, listener locations, the 3D model of the environ-ment, and material absorption data to generate realistic audio out-put. There is extensive literature on simulating the propagation ofsound, including reflections and diffraction. However, most result-ing methods do not provide the flexibilty and efficiency needed foruse in interactive virtual environments. For example, most gamesuse statically designed environment reverberation filters that arecomputed based on occlusion and obstruction between the soundsource and the listener. Some games (e.g. Crackdown1) use the no-tion of audio shaders that identify the surrounding geometric primi-tives and dynamically adjust the time delays of the direct sound andthe audio responses received from sound reflections.

In this paper, we primarily focus on simulating edge diffraction forsound propagation. Diffraction is an important effect that causessound to scatter when encountering objects of similar size to thewavelength, which can result in audio energy being propagatedto positions that are out of line-of-sight. In acoustic simulation,diffraction effects are primarily modeled at the edges of the objectsin the scene. The computation of diffraction region can convey im-portant audio cues from sources that are not visible to the listener,and thereby more listener positions receive contributions from thesound source. It is necessary to simulate diffraction accurately inorder to obtain a more realistic and smooth transitions when thelistener or the source is moving.

The accurate solution of diffraction involves numerically solvingthe wave equation. However, the high computational requirementsof numerical solvers limit their use to offline simulations. As a re-sult, current interactive sound propagataion methods are based on

1http://interviews.teamxbox.com/xbox/1885/The-Audio-of-Crackdown/p1/

Page 2: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

Geometric-Acoustic (GA) techniques. The strength of GA tech-niques lies in the fact that they are able to quickly calculate prop-agation paths arising from direct transmission and reflection. Thisspeed comes at a compromise in that GA techniques model onlyhigh-frequency estimations of direct propagation, specular reflec-tion, and diffuse reflection [Allen and Berkley 1979; Funkhouseret al. 1998; Lauterbach et al. 2007; Hodgson 1991]. Other effects,such as diffraction, are relatively difficult to capture and can havea high computational cost [Tsingos et al. 2001]. There has beenmuch research on diffraction methods that integrate well with GAsolutions [Tsingos et al. 2001; Svensson et al. 1999; Pulkki et al.2002; Calamia and Svensson 2005].

Main results: We present an interactive approach to perform edgediffraction around long edges in complex virtual environments. Ourformulation extends the frustum tracing method [Lauterbach et al.2007] to perform edge diffraction based on the Uniform Theory ofDiffraction (UTD) [Kouyoumjian and Pathak 1974]. The resultingmethod takes advantage of frustum tracing’s discrete, sub-divisionbased design to construct diffraction frusta with adaptable speedand accuracy. These new diffraction frusta are used to computethe diffraction contribution paths in the region around edges. Ourformulation retains the underlying advantages of frustum tracingwith respect to efficiency and can handle complex, dynamic envi-ronments with moving sources or listeners.

Based on our formulation, we present efficient techniques to com-pute the diffraction propagation paths accurately. As the direct andspecular reflection contributions are propagated through the sceneusing 4-sided frusta, the resulting paths encounter large edges inthe scene geometry. We model the diffraction contributions aroundthese edges by creating a secondary propagation source at the edge.These secondary sources give rise to diffraction frusta which arepropagated about the scene, and may contribute to the final au-dio response. Once all the contributions paths are computed, wepresent simple approaches for computing an impulse response us-ing UTD. We also describe a method for computing the diffractioncoefficients that takes into account variations over the frequencyand time domain.

Our algorithm has been implemented and integrated with thefrustum-tracing based sound propagtion method. We compare itsaccuracy with previous methods on the well-known Bell Labs box.We demonstrate its performance on complex indoor and outdoorscenes with dynamic objects, moving sources and listeners. In prac-tice, we can acurately compute the propagation paths with diffrac-tion and specular reflections at interactive rates on a multi-core PC.Out method can be used to generate plausible sound rendering incomplex and dynamic virtual environments.

Organization: The rest of the paper is organized in the follow-ing manner. We briefly survey prior work in sound propagation inSection 2. Section 3 gives the background and an overview of ourapproach. We present the details of our algorithm in Section 4. Weanalyze the accuracy of our method in Section 5 and highlight itsperformance in Section 6.

2 Previous Work

Numerical methods of audio simulation provide accurate results,correctly modeling diffraction as well as low frequency wave ef-fects. These methods compute the results by numerically solvingthe wave-equation to estimate the propagation in a given scene.There are several techniques that may be used, such as bound-ary element methods, finite element methods, digital waveguides[Duyne and Smith 1993], and finite difference time domain [Bot-teldooren 1994]. However, even with major performance improve-

ments [Raghuvanshi et al. 2008], these methods can take a fewhours on simple scenes with large volumes.

Geometric Acoustic (GA) techniques assume that sound can bemodeled as a high frequency wave. This assumption trades lowfrequency accuracy for ease of calculation and greatly reduces thecomputational cost of GA methods. The primary techniques areimage-source [Toriu and Nakajima 2006; Borish 1984], ray trac-ing [Krokstad et al. 1968], beam tracing [Funkhouser et al. 1998],and frustum tracing [Lauterbach et al. 2007]. Image-source meth-ods have a very high cost when simulating higher orders of reflec-tion and are often combined with ray tracing to reduce the com-putation time needed for high order reflections. Ray tracing relieson heavy sampling to overcome inherent aliasing problems. Beamtracing is a volumetric technique and performs accurate geometricpropagation, but relies on elaborate clipping algorithms and accel-eration structures that can often not be used in dynamic or com-plex scenes. Frustum tracing attempts to strike a balance betweenray tracing and beam tracing by performing discrete clipping withvolumes. This greatly reduces aliasing and uses hierarchical ac-celeration structures supporting dynamic scenes with large polygoncount.

There has been much work combining diffraction and various simu-lation techniques. The two primary diffraction theories that are usedin geometrical simulations are the Uniform Theory of Diffraction(UTD) [Keller 1962; Kouyoumjian and Pathak 1974] and the Biot-Tolstoy-Medwin (BTM) [Biot and Tolstoy 1957; Medwin 1981]method. Both of these methods adapt well since finding a ray pathincident on the edge is sufficient for diffraction calculation. TheUTD has been used earlier in offline rendering in visual [Aveneauand M’eriaux 1999], radio [Rajkumar et al. 1995; Kim et al. 1999]and audio [Fortune 1999] simulations. Furthermore, the basic ap-proach has been used to calculate diffraction coefficients for sev-eral interactive simulations, based on beam tracing [Tsingos et al.2001] and 2D visibility diagrams [Antonacci et al. 2004]. In prac-tice, these approaches have been mainly limited to static scenes.

3 Overview

In the computational acoustics literature, diffraction effects are pri-marily modeled at the edges of objects in the scene. The diffractedwave fills the region about the edge, including the space that maybe hidden from the initial source and reflection waves; this is theshadow region. In this paper, we focus on diffraction only in theshadow region as the other regions around an edge will be coveredby either direct or reflection propagation and are handled separatelyby the underlying propagation algorithm. We have included valida-tion data for which the entire diffraction region was computed, butotherwise we propagate only in the shadow region to reduce ren-dering time. Our main goal is to compute the contributions dueto diffraction in the shadow region, as they can convey importantaudio cues from sources that are not directly visible to the listener.

In order to effectively simulate diffraction acoustics, it is necessaryto compute all diffraction paths between the sound source and thelistener. Finding these paths can be a relatively expensive operationcompared to computing the direct and specular sound propagationpaths. Consider the GA computation of specular reflections. Thecomputation of reflection paths mainly depends on the incident vec-tor and the surface normal. Unlike reflections, diffraction is a widescattering effect that is much less cohesive. It only occurs at cer-tain types of object edges in the scene and depends on the surfacegeometry at the edge as well as the position of the source and thelistener via other propagation methods.

Page 3: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

(a)

Figure 2: Overview of our edge diffraction algorithm: Possible diffracting edges are detected and marked as a preprocess. During thesimulation, frusta are checked for diffracting edge containment. If so, a new diffraction frustum is created. After the propagation is complete,the diffraction paths are attenuated by the UTD coefficients.

3.1 Simulating Diffraction

There is considerable literature on complementing GA simulationtechniques with various diffraction theories. Both the UTD andthe BTM method provide a ready method for computing diffrac-tion coefficents in such simulations. The BTM method is more ac-curate than UTD and can be formulated for use with finite edge[Svensson et al. 1999]. However, the BTM line integral must besolved over the edge length exposed to the sound field. This comesat high computational cost, which has led to research focusing onspeed improvements. Non-interactive acceleration techniques havebeen presented [Lokki et al. 2002b] and used in offline simula-tions [Lokki et al. 2002a; Savioja et al. 2002]. There has also beenprogress in enhancing the BTM method for use in interactive sim-ulations. This has resulted in several edge subdivision techniques[Svensson et al. 1999; Calamia and Svensson 2005; Calamia andSvensson 2007].

In this paper, we restrict ourselves to UTD as it has a much lowercomputational overhead and is more amenable to interactive appli-cations. Specifically, we use UTD to calculate diffraction coeffi-cients for several reasons: it is simple to implement, fast to com-pute, and the infinite edge assumption works very well with the dis-crete volumes generated in ray-frustum tracing. UTD is basicallya frequency domain calculation and depends on the edge geometryas well as source and listener position. The resulting value coef-ficent represents the diffraction attenuation and phase variation ofthe signal. One limitation of UTD is that it assumes edges of infi-nite length and is mainly limited to applications where objects havelong edges relative to the wavelength.

3.2 Ray Frustum Tracing

We use the ray-frustum tracing algorithm to compute the propaga-tion paths in the scene [Lauterbach et al. 2007]. This approach usessimple 4-sided frusta and each volume is represented as the con-vex combination of four boundary rays. The scene primitives areorganized using a bounding volume hierarchy (e.g. a hierarchy ofaxis-aligned bounding boxes). The nodes of the hierarchy are usedto accelerate the intersection computations with the ray-frusta. Fora dynamic scene, the hierarchy is updated in a bottom-up mannerusing refitting algorithms.

The propagation algorithm starts by shooting frusta from soundsources. A frustum traverses the scene hierarchy, resulting in a listof potentially intersecting triangles. These triangles are intersectedwith the frustum and the frustum is adaptively sub-divided into sub-frusta. The level of subdivision governs the accuracy of the overallalgorithm and computes an approximation of the scene primitivesthat are visible to each frustum. The sub-frusta are subsequently

reflected and diffracted to generate more frusta, which in turn aretraversed recursively. The algorithm also checks for the listener’sposition inside each frusta to determine if there is a contributionpath. Using the recursive tree of traced frusta, the path between thesource and listener can be calculated. This path is later attenuatedto produce an appropriate audio signal for the scene.

Recent extensions [Chandak et al. 2008] allow the frustum to beadaptively subdivide in order to achieve a certain level of accuracydepending on the scene geometry. At a broad level, the frusta aresubdivided based on the type of scene primitives encountered, thedistance traveled from the source, and the recursion depth of thetree. This advancement allows traced frusta to more accurately rep-resent the scene geometry with less computation, producing moreaccurate contribution paths. As a result, the algorithm can computepropagation paths in complex scenes at interactive rates. The un-derlying algorithm for intersection and path computation is mainlylimited to specular reflections [Lauterbach et al. 2007]. In this pa-per, we extend the approach to perform edge diffraction using ray-frustum tracing, and thereby improve the accuracy of the overallgeometric-acoustic algorithm.

4 Algorithm

In this section, we present our algorithm in detail and address theissues that arise in terms of incorporating edge diffraction in ray-frustum tracing. The underlying algorithm generates 4-sided frustabased on specular reflections and edge diffractions and checkswhether the model edges are contained in these frusta. In orderto reduce the runtime overhead of checking if a triangle edge candiffract, our algorithm precomputes the diffraction edges in thescene as part of a preprocessing step. When a frustum is foundto contain a potential diffracting edge, a new sub-frustum is createdto carry the possible diffraction contribution. After all propagationpaths are found, they are auralized based on the path characteriza-tion and scene primitives. Figure 2 shows the various steps of ouralgorithm.

4.1 Preprocess

When tracing frusta through the scene, they can encounter manyedges in the scene. However, only a small subset of the edges in ascene are useful for diffraction calculations, especially in complexscenes with highly tessellated objects. Rather than explicitly testingwhether an edge is a candidate for diffraction at runtime, we find allpossible diffraction edges as part of a preprocess by analyzing thescene and marking the edges. Specifically, we use a data structurethat links each edge to its incident triangles. The edges of eachtriangle are classified based on the surface normals of incident faces

Page 4: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

(see Figure 3).

(a) (b) (c) (d)

Figure 3: Preprocessed edge types: (a) Planar edges that neverdiffract; (b) exterior edges that always diffract; (c) interior edgesand (d) disconnected edges that can be configured by user choiceto diffract.

If the triangles incident to an edge have similar normals, they areconsidered almost planar and the resulting edge is not consideredas a candidate for diffraction (Fig. 3(a)). If the normals are exteriorand point away from one another, the edge is part of a diffractingwedge (Fig. 3(b)). The two surface normals are used to computethe wedge angle that is later used for diffraction coefficient calcu-lations. There are two other remaining edges that can be markedas diffracting or non-diffracting depending on scene classification.The user can elect to have triangles with normals facing inwards(Fig. 3(c)) marked as diffracting edges from the backface. This isuseful if the scene has triangles that form both interior and exte-rior side of a wall. Similarly, disconnected edge (triangles withoutneighbors, see Fig. 3(d)) can be marked as diffracting edge if theuser desires. If marked, disconnected edges have wide wedges of2π radians.

4.2 Edge containment

The edge classification is performed as a preprocess and used bythe frustum tracing algorithm at runtime. Since diffraction propa-gation occurs only at edges that are marked as diffracting edges, wemust search the scene to find any edges that contribute to the audioresponse at the listener. This search shall be conducted by checkingif diffracting edges are within the propagating frusta.

Consider the case where a frustum intersects a triangle and is notfully contained within the triangle, that is, at least one of the cor-ners of the frustum face lies outside of the triangle bounds. Theadaptive subdivision system will subdivide the frustum in an at-tempt to approximate the triangle’s shape. After many iterations,the subdivision limit is reached and the edge is now approximatedby the sub-frusta. Some of these sub-frusta must contain the edgethat caused the initial subdivision. These frusta must be searchedto determine the exact orientation of the triangle edge inside thefrustum.

(a) (b) (c)

Figure 4: Edge containment check: After the frustum encountersa triangle (a), its face is projected into the triangle plane (b). Eachdiffracting edge is then checked for intersection with the face (c) tofind the intersection points i1,2.

The search for the edge is conducted through a series of tests (Fig-ure 4). These tests determine whether a diffracting edge is con-tained within a frustum and thus whether the creation of a diffrac-tion frustum is necessary. It is possible that the encountered triangle

does not have any diffracting edges. Since the preprocessing stephas assigned each of the triangle’s edges a type, the edge types arechecked. If none are marked as a diffracting edge, the test aborts.

However, if one of the edges is diffracting, a diffraction frustumshould be propagated from the edge. This frustum will be createdas a child to the frustum that contains the diffracting edge. Thus,it must be determined which of the original sub-frusta contain theedge. This test is formulated as an intersection between the edgeand the four lines that form the frustum face boundaries. The inter-section can be simpified to a 2d case by first projecting the frustumface into the triangle’s plane. The diffracting edge is then checkedfor intersection against the boundaries of the frustum face. If theedge does not cross any of the bounds, the diffracting edge mustnot be within this sub-frusta and the test is repeated with the nextsub-frusta.

In the case that the frustum boundaries do intersect the diffractingedge, the exact orientation of the edge within the frustum must bedetermined. This is done by completing the intersection calculationand finding the two intersection points i1, i2 (see Figure 4 (c)), ofthe edge on the frustum boundary. These intersection points will beused in the later construction of the diffraction frustum.

4.3 Diffraction frustum construction

When a diffracting edge is found within a frustum, a diffractionfrustum is created and propagated. This diffraction frustum shouldencompass the shadow region that is hidden from direct contribu-tions. We will now detail the calculations used during frustum cre-ation; refer to figure 5 for a visual guide. Since most diffractingedges are situated at the wedge formed where two triangles meet,throughout these calculations we will differentiate between the twotriangles as the source side and the receiver side of the wedge. Thesource side is the side that is exposed to the original propagation,i.e. the side that is first encountered by the sound field. The re-ceiver side is the side where the new diffracted field will propagatewith the shadow region. In the case of disconnected edges, the tri-angle on the receiver side is the source side triangle with its normalreversed.

In order to create a diffraction frustum given an encountereddiffracting edge, the region of the edge that is contained withinthe initial furstum must be known. The intersection points fromthe edge containment test describe this portion of the edge. Usingthese points i1,2 and the origin of the original frustum o, two newvectors d1,2 are created that form the edge along the source line-of-sight by using the formula d1,2 = i1,2−o2. These vectors describethe side of the new diffraction frustum that borders the transitionfrom line-of-sight contribution to shadow contribution.

Next, we construct the vectors that are used to represent the farplane of the diffraction frustum. This far plane will border theface of the triangle on the receiver side of the diffracting edge, andcombined with the first set of vectors, will bound a portion of theshadow region. We begin the computation by defining an edge axisvector e = i1 − i2. There is then a vector fr which is perpendic-ular to the diffracting edge and lies in the plane of the triangle thatrepresents the receiver side of the diffracting edge. This receiverface vector is defined as fr = e × nr , where nr is the normal ofthe receiver side triangle. We also obtain the vector dperp by pro-jecting d1 onto the plane perpendicular to e. Once these vectors arecomputed, we find the angle between them, and rotate d1,2 about etowards fr by the appropriate angle. This sweeps out a diffractioncone bounded by d1,2 at the edge of the shadow region and newvectors d3,4 that lie in the receiving side triangle’s plane.

Should we wish to create the full diffraction region about the edge(not just the shadow region), we may rotate the vectors d3,4 about

Page 5: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

(a) (b) (c) (d)

Figure 5: Diffraction fustum creation: Given a frustum’s origin o and its edge intersection points i1,2 (a), the edge axis e and the initialdiffraction vectors d1,2 are created (b). Rotating the inital vectors about the edge axis towards the face vector f sweeps a diffraction conebounded by the final vectors d3,4 (c). We can then create the complete the frustum volume (d).

e towards the triangle face on the source side of the wedge. Thevectors d3,4 may be compute effeciently without rotation as d4,3 =(d1,2 · e)e + (d1,2 · fr)fr when d1,2 · fr < 0, and as d4,3 =(d1,2 · e)e− (d1,2 · fr)fr in all other cases.

The resulting diffraction cone can represent a large portion of thescene space even in the case of shadow region calculations. Con-sider the original frustum that was found to be incident on thediffracting edge. As described in section 4.2, this frustum wasmaximally subdivided. The result is that the diffracting frusta isalready subdivided to the user’s desired accuracy level in the direc-tion parallel to the edge. However, as we sweep out the diffractioncone, the resulting diffraction fustum is thin parallel to the edgeand very wide perpendicular to it. Since we have found that thesewide frusta subdivide poorly, we split the wide frustum into severalsmaller ones according to the user’s desired subdivision level. Thisresults in a frustum that has been subdivided to a level desired for asecondary frustum.

4.4 Path generation

The frustum tracing algorithm generates new reflection and edgediffraction frusta based on the intersections. As each frustum tra-verses the scene, the data needed to attenuate its contribution ispushed on a stack. This includes data describing the direction andlocation of the frustum and the geometry encountered. Reflectedfrusta have the material attenuation values pushed, while diffrac-tion frusta have the wedge angle and triangle data pushed. Thisdata is later used to create the contribution path used in generatingan IR.

As each frustum is propagated, it is checked for containment ofthe receiver. If the receiver is contained, there is a contributionpath from source to receiver. The primary components of the con-tribution path are the triangles encountered and the total distancetraveled from the source. The triangles encountered and their in-teractions, reflection or diffraction, were pushed on a stack and areeasily accessible. To determine the distance, we first find the re-ceiver’s position relative to the frustum. This is composed of threevalues that we measure from the frustum face. Using a linear com-bination of the four rays that compose the frustum edges, horizontaland vertical components on the frustum face plane are computed.A distance component is then measured from the point on the frus-tum face to the listener. By repeating this process for each previ-ous frusta on the contribution stack, the total path distance can befound. It should be noted that this is not as accruate as finding exactdiffraction point with Newton solving [Tsingos et al. 2001] and thecertain limitations of this process are discussed later in the paper.

4.5 Attenuation

After all the frusta are computed, we attenuate the signal based onthese propagation paths. If there is a contribution, our algorithmproduces an audio response that is attenuated correctly. Algorithmsto compute the attenuation values for reflection have been describedpreviously [Lauterbach et al. 2007]. In this section, we present ouralgorithm to compute the diffraction attenuation coefficients.

The UTD was chosen as the method to generate the diffraction co-efficients for the paths as explained in Section 3. Since the UTDassumes that an edge has infinite length, the actual length or sub-set of the edge that is exposed to sound energy is not needed. Thisworks well with the discrete intersection tests performed with ray-frustum culling. Specifically, a single frustum can be checked ifit contains a valid diffraction path completely independently of allother frusta. Worth noting is that the diffraction frustum is subjectto subdivision like any other frustum. Since the subdivision fac-tor represents the accuracy of the resulting propagation, the finalpath found is accurate to the user’s specified subdivision level. Forfrusta near the shadow boundary, we normalize the attenuation ashas been done in previous work [Tsingos et al. 2001].

As frustum tracing is used solely for interactive sound propagation,the modulus of the complex variable diffraction coefficient for eachfrequency band is used to attenuate the frequency bands for the fi-nal impulse response. This allows for fast rendering at the cost ofdiscarding the phase information. The number of frequency bandscalculated can be adjusted by the user to suit the scene and desiredspeed. In our benchmarks we use eight bands. For high qualityrendering, the final complex value results could be retained and thenumber of frequency bands used could be adjusted upward.

5 Accuracy

In this section we validate our results against results from the wellknown Bell Lab Box benchmark with a baffle by Tsingos et al.[2002]. We compare the resulting impulse responses from our sys-tem with the early reflection responses from a beam tracing simula-tion of the Bell Lab Box. We also show the difference in total lengthof paths found by our system and the beam tracing system. In ad-dition, we discuss the frustum tracing approximation of diffractioncones and detail the limitation of a frustum tracing approach.

Throughout this section and the next, we will refer to the subdivi-sion level chosen for the frustum tracing system. It described as aset of three integers: axbxc where a is the subdivision level of thefirst frustum recursion, b is the subdivision for large frusta, and c isthe subdivision for small frusta. When a frustum is subdivided, itmay be recursively split up to 2x times, where x is the subdivision

Page 6: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

level.

5.1 Bell Lab Box with Baffle

The ”Bell Lab Box” is an acoustic analog to the well known ”Cor-nell Box”. The Bell Lab box is a large closed box which containsa sound source and receiver. An optional baffle may be insertedthat obstructs visibility between portions of the box. Tsingos et al.[2002] use the Bell Lab box to conduct a controlled study of audiopropagation. The sound source and listener are placed at variouspositions within the box and the acoustic response can be measuredat the receiver position. Knowing the location of both source andreceiver, they compare the measured data to a beam tracing simu-lation of diffraction phenomenon. This simulation finds diffractionpaths and auralizes them based on the UTD. The resulting auraliza-tion compares well with the physical measurements from the BellLab box.

In their paper, they provide the earliest 60 geometric paths tracedfrom a source position to a receiver out of line-of-sight. We usethese paths from their physically correct geometric simulation andcompare them to the paths generated by our diffraction frustumpropagation. For these comparisons, we compute the full diffrac-tion cone, not just the shadow region. Since small perturbations insource and listener positions or the input geometry can change theorder in which the path reaches listener from the source, we focuson existence of a path including the combination of surfaces andnot strict ordering. Detailed tables of these results can be found inthe appendix section.

Due to its basis as a ray tracing method, frustum tracing is currentlyunable to find diffraction paths that diffract from an edge, reflect offa surface, and then diffract off the same edge again. These pathsmust travel parallel to the surface of the diffracting wedge and thuswould not be contained within any resulting reflection frusta. In thefollowing comparisons with the beam tracing method, these pathsrepresent a large portion of the resulting error.

A comparison of the resulting impulse responses for our system andthe beam tracing system is shown in figure 6. Three simulationswith varying subdivision levels are compared. As the subdivisionlevel increases, the resulting IR more accurately matches the beamtracing IR in both density and timing.

(a)

Figure 6: Impulse response: A comparison of three frustum trac-ing simulations of varying accuracy with a very accurate beamtracing method.

We compare the total length of all paths found by each simulation.As the subdivision level of frustum tracing increases, more pathsare found. With the increase in accuracy, the total length of pathsfound begins to approach the beam tracing method’s total length.For clarity, we include results from a hypothetical frustum tracingsimulator that correctly calculates all paths except those that areparallel to the diffracting surface. As shown in figure 7, high sub-division frustum tracing compares very favorably with this idealfrustum tracer.

(a)

Figure 7: Path distance: As subdivision level increases, the lengthof paths found approaches the ideal frustum tracer and beam tracerresults.

5.2 Accuracy of Diffraction Frustum

Frustum tracing is an approximate method and can achieve higherupdate rates by reducing simulation accuracy. Similarly, higher ac-curacy can be achieved by reducing the simulation update rate. Thecreation of diffraction frusta follows this same property. Diffractionfrusta are initally subdivided based on the subdivision level chosenby the user. Since each diffraction frustum is bounded above andbelow by an approximate diffraction cone, it is helpful to evaluatethe difference in volume between a subdivided approximation and aperfect diffracting cone. Figure 8 and table 1 shows that as the sub-division level increases, the diffraction frustum quickly convergesto the ideal volume.

(a) (b) (c) (d)

Figure 8: Frustum Subdivision accuracy: the resulting diffrac-tion cone with a subdivision of 0 (a), subdivision of 1 (b), and sub-division of 2 (c). The diffraction frustum approximates the idealcone (d).

Subdivision level0 1 2 cone

Volume error 36.34% 9.97% 2.55% 0.0%

Table 1: Volume error: As the subdivision level increases, theerror in the volume of the diffraction cone decreases

5.3 Limitations

Since UTD is used to calculate the diffraction coefficients, the un-derlying restrictions of UTD naturally apply to our system. UTDis a high frequency approximation, and is not accurate for low fre-quency diffraction. Moreover, UTD assumes that the diffractingedge is of infinite length and the source and receiver are far from

Page 7: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

the edge (relative to wavelength). These restrictions are discussedin further detail in Kouyoumjian et al. [1974].

Frustum tracing can be regarded as an approximation of beam trac-ing and introduces some additional limitations. While it is a volu-metric technique, it can suffer from small amounts of aliasing whencompared to methods such as beam tracing or image source. More-over, the frusta cannot be subdivided infinitely when they encounterthe geometric edges. The level of subdivision is controlled eitherusing a uniform global parameter [Lauterbach et al. 2007] or anadaptive subdivision scheme [Chandak et al. 2008]. In some cases,this subdivision can result in over-estimation or under-estimationin the final fustum volume. This error is reduced as the subdivisionlimit is increased.

Since our diffraction method intersects discrete frusta volumes, itcannot find diffracting edges that lie in the plane of receiver trianglethat caused the diffraction. This is because a diffraction frustummust be constructed using rays that lie parallel to the plane. Alledges that lie in the receiver plane are thus outside the bounds ofthe frustum and will not be encountered during scene traversal.

6 Performance

In this section we evaluate the performance of our method withvarious scenes and settings. Unless otherwise noted, all simulationsare rendered with 8 frequency bands and 4 threads on a modern 2.66Ghz multi-core machine. The scenes used are detailed in table 2.We use a subdivision level of 3x2x2 for all benchmarks.

Scene Type Triangles Diffracting edgesQ3dm1 Closed 13880 397Atrocity Closed 11769 1531Chartres Open 192020 40489Sibinek Open 76323 1358Sponza Open 66454 1021

Highway: Open 349703 1115Sodahall Closed 1510775 9457

Table 2: Scene overview: Data on the scenes used for the perfor-mance results.

6.1 Diffraction cost

Generating the diffraction frusta during simulation incures a timecost over just reflection. The time needed to propagate the diffrac-tion frusta varies greatly from scene to scene, but is generally closeto interactive on closed scenes. The benefit of using diffraction alsovaries; depending on the scene geometry and source/receiver posi-tion, very few valid diffraction paths may be found. Table 3 showsthe added cost and benefit of using diffraction in various sceneswith 3 orders of recursion.

6.2 Frequency bands

The UTD coefficients are computed for specific frequencies. In oursystem, we compute the coefficients for a representative frequencyfrom a certain number of bands. As the number of bands grows, thecoefficient more accurately represents the attenuation for the fre-quencies it represents. We can adjust the number of bands used inour simulation. As shown in table 4, even with 4 orders of recur-sion, the number of bands has little influence on the overall sim-ulation time. It should be noted that these timings include onlypropagation and attenuation- the time to auralize the signal is notincluded.

Scene Diffraction # Frusta Time Paths foundQ3dm1 Off 80844 219 ms 2

On 81842 224 ms 2Atrocity Off 114183 282 ms 5

On 149341 413 ms 6Chartres Off 219865 1306 ms 2

On 292256 2078 ms 8Sibinek Off 370594 1614 ms 12

On 377521 1636 ms 15Sponza Off 198022 861 ms 2

On 209737 921 ms 11Highway Off 22157 144 ms 1

On 22853 155 ms 1Sodahall Off 81269 436 ms 0

On 91879 510 ms 3

Table 3: Diffraction benefit: Diffraction incurs a slight perfor-mance decrease, but often finds more propagation paths.

Number of bandsScene 1 8 16 32

Q3dm1 735 ms 739 ms 741 ms 743 msAtrocity 1829 ms 1838 ms 1841 ms 1853 msChartres 12225 ms 12238 ms 12279 ms 12316 msSibinek 7850 ms 7880 ms 7914 ms 7950 msSponza 4203 ms 4238 ms 4248 ms 4261 ms

Sodahall 2122 ms 2135 ms 2136 ms 2145 ms

Table 4: Frequency bands: As the number of bands increases, thesimulation time increases slightly.

6.3 Recursion cost

In table 5 we present the number threads needed to maintain a min-imum simulation cycle of 2 Hz with various levels of recursion.This shows an approximate cost to render complex scenes and theability of the method to scale in the event of many-core architec-ture. If the number of threads exceeds the number of cores on ourtest computer, we estimated the number of threads needed based onnear linear scaling per core [Chandak et al. 2008].

Recursion levelScene 1 2 3 4

Q3dm1 1 1 2 6Atrocity 1 1 4 ≈ 17Chartres 1 2 ≈ 19 > 32Sibinek 1 2 ≈ 16 > 32Sponza 1 2 8 > 32

Highway 1 1 1 2Sodahall 1 1 4 ≈ 21

Table 5: Needed threads: The table shows the threads needed tomaintain a 2 Hz update for the given level of recursion.

7 Conclusion and future work

The presented edge diffraction method enhances frustum tracingby allowing diffraction contribution paths that can be computedand auralized. Our resulting system computes direct contributions,specular reflections and edge diffraction using ray-frustum trac-ing. To the best of our knowledge, this is the first edge diffractionmethod that results in interactive performance in complex sceneswith dynamic objects. The overall performance of the system in-creases as the order of reflections and diffraction increases. We

Page 8: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

have observed comparable results with the beam tracing method onthe Bell Labs Box, and our algorithm can generate plausible resultson complex benchmarks.

There are many avenues for future work. As new frusta are traced,the exposed portions of diffracting edges could be tracked. Whilethis would greatly increase the complexity of the recursive inter-section tests, it would allow greater flexibility when calculating thediffraction coefficients. Once the exposed edge length is known ex-actly, it would be possible to replace UTD with finite edge diffrac-tion approaches such as the BTM (Biot-Tolstoy-Medwin) method.Another way to improve the performance is to reduce the numberof diffraction frusta generated. This would allow more time to per-form higher levels of subdivision or reflections. There has beensome work in the area of diffraction culling [Calamia and Svensson2005]. This would reduce the reduce the number of insignificantfrusta created. Another possibility is to cluster the nearby sourcesthat can improve the performace by replacing many similar diffrac-tion frusta by fewer aggeragate frusta.

ReferencesALLEN, J. B., AND BERKLEY, D. A. 1979. Image method for efficiently simulating

small-room acoustics. The Journal of the Acoustical Society of America 65, 4(April), 943–950.

ANTONACCI, F., FOCO, M., SARTI, A., AND TUBARO, S. 2004. Fast modeling ofacoustic reflections and diffraction in complex environments using visibility dia-grams. In Proceedings of 12th European Signal Processing Conference (EUSIPCO’04), 1773–1776.

AVENEAU, L., AND M’ERIAUX, M. 1999. Rendering polygonal scenes with diffrac-tion account. In WSCG ’99 (Seventh International Conference in Central Europeon Computer Graphics, Visualization and Interactive Digital Media), University ofWest Bohemia, Plzen-Borey, Czech Republic, 353–360.

BIOT, M. A., AND TOLSTOY, I. 1957. Formulation of wave propagation in infinitemedia by normal coordinates with an application to diffraction. Journal of theAcoustical Society of America 29, 3 (March), 381–391.

BORISH, J. 1984. Extension of the image model to arbitrary polyhedra. The Journalof the Acoustical Society of America 75 (June), 1827–1836.

BOTTELDOOREN, D. 1994. Acoustical finite-difference time-domain simulation ina quasi-cartesian grid. The Journal of the Acoustical Society of America 95, 5,2313–2319.

CALAMIA, P. T., AND SVENSSON, U. P. 2005. Edge subdivision for fast diffractioncalculations. In Proc. 2005 IEEE Workshop on Applications of Signal Processingto Audio and Acoustics (WASPAA 2005), 187–190.

CALAMIA, P. T., AND SVENSSON, U. P. 2007. Fast time-domain edge-diffractioncalculations for interactive acoustic simulations. EURASIP Journal on Advancesin Signal Processing.

CHANDAK, A., LAUTERBACH, C., TAYLOR, M., REN, Z., AND MANOCHA, D.2008. Ad-frustum: Adaptive frustum tracing for interactive sound propagation.IEEE Transactions on Visualization and Computer Graphics. to appear.

DUYNE, S. V., AND SMITH, J. O. 1993. The 2-d digital waveguide mesh. In Ap-plications of Signal Processing to Audio and Acoustics, 1993. Final Program andPaper Summaries., 1993 IEEE Workshop on, 177–180.

FORTUNE, S. 1999. Topological beam tracing. In Symposium on ComputationalGeometry, 59–68.

FUNKHOUSER, T., CARLBOM, I., ELKO, G., PINGALI, G., SONDHI, M., AND

WEST, J. 1998. A beam tracing approach to acoustic modeling for interactivevirtual environments. In SIGGRAPH ’98: Proceedings of the 25th annual con-ference on Computer graphics and interactive techniques, ACM, New York, NY,USA, 21–32.

GARCIA-RUIZ, M. A., AND GUTIERREZ-PULIDO, J. R. 2006. An overview of audi-tory display to assist comprehension of molecular information. Interact. Comput.18, 4, 853–868.

HODGSON, M. 1991. Evidence of diffuse surface reflections in rooms. The Journalof the Acoustical Society of America 89, 2 (February), 765–771.

KAWAI, T. 1981. Sound diffraction by many sided barrier or pillar. Journal of Soundand Vibration 79, 229–242.

KELLER, J. B. 1962. Geometrical theory of diffraction. Journal of the Optical Societyof America, 3 (April), 116–130.

KIM, S., CARINO, B., WILLIS, T., ERCEG, V., FORTUNE, S., VALENZUELA, R.,THOMAS, L., LING, J., AND MOORE, J. 1999. Radio propagation measurementsand prediction using three dimensional ray tracing in urban environments at 908mhz and 1.9 ghz. In IEEE Trans. Vehicular Technology, vol. 48, 931–946.

KOUYOUMJIAN, R., AND PATHAK, P. H. 1974. A uniform geometrical theory ofdiffraction for an edge in a perfectly conducting surface. IEEE, Proceedings, vol.62, Nov. 1974, p. 1448-1461..

KROKSTAD, A., STROM, S., AND SRSDAL, S. 1968. Calculating the acoustical roomresponse by the use of a ray tracing technique. In Journal of Sound and Vibration,vol. 8, 118–125.

LAUTERBACH, C., CHANDAK, A., AND MANOCHA, D. 2007. Interactive soundpropagation in dynamic scenes using frustum tracing. IEEE Transactions on Visu-alization and Computer Graphics 13, 6, 1672–1679.

LOFTIN, R. B. 2003. Multisensory perception: Beyond the visual in visualization.Computing in Science and Engineering 05, 4, 56–58.

LOKKI, T., SAVIOJA, L., VAANANEN, R., HUOPANIEMI, J., AND TAKALA, T. 2002.Creating interactive virtual auditory environments. IEEE Comput. Graph. Appl. 22,4, 49–57.

LOKKI, T., SVENSSON, P., AND SAVIOJA, L. 2002. An efficient auralization of edgediffraction. In AES 21st International Conference on Architectural Acoustics &Sound Reinforcement 2002, Audio Engineering Society, USA, 166–172.

MEDWIN, H. 1981. Shadowing by finite noise barriers. Journal of the AcousticalSociety of America 69, 4 (April), 1060–1064.

PULKKI, V., LOKKI, T., AND SAVIOJA, L. 2002. Implementation and visualizationof edge diffraction with image-source method. preprint no. 5603+.

RAGHUVANSHI, N., GALOPPO, N., AND LIN, M. C. 2008. Accelerated wave-basedacoustics simulation. In Symposium on Solid and Physical Modeling, 91–102.

RAJKUMAR, A., NAYLOR, B., AND ROGERS, L., 1995. Predicting rf coverage inlarge environments using ray-beam tracing and partitioning tree represented geom-etry.

SAVIOJA, L., LOKKI, T., AND HUOPANIEMI, J. 2002. Auralization applying theparametric room acoustic modeling technique - the diva auralization system.

SMITH, S. 1993. Auditory representation of scientific data. In Focus on ScientificVisualization, Springer-Verlag, London, UK, 337–346.

SVENSSON, U. P., FRED, R. I., AND VANDERKOOY, J. 1999. An analytic secondarysource model of edge diffraction impulse responses . Acoustical Society of AmericaJournal 106 (Nov.), 2331–2344.

TORIU, T., AND NAKAJIMA, S. 2006. A method of calculating image saliency andof optimizing efficient distribution of imagewindows. In ICICIC ’06: Proceedingsof the First International Conference on Innovative Computing, Information andControl, IEEE Computer Society, Washington, DC, USA, 290–293.

TSINGOS, N., FUNKHOUSER, T., NGAN, A., AND CARLBOM, I. 2001. Model-ing acoustics in virtual environments using the uniform theory of diffraction. InSIGGRAPH 2001, Computer Graphics Proceedings, 545–552.

TSINGOS, N., CARLBOM, I., ELKO, G., FUNKHOUSER, T., AND KUBLI, R. 2002.Validation of acoustical simulations in the ”bell labs box”. IEEE Computer Graph-ics and Applications.

Page 9: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

8 Appendix

8.1 UTD formuation

Found diffraction paths are attenuated using the UTD [Kouy-oumjian and Pathak 1974; Kawai 1981]. The UTD can describethe attenuation of exitent rays on the surface of a diffracting cone.The shape of this cone is determined by the incident ray direction tothe edge. When calculating UTD coefficient, the angle θi is the an-gle of incidence in the plane containing the source and the diffract-ing edge (Figure 9). All other angles lie in the plane perpendicularto the edge and are measured from the surface face on the sourceside about the edge point. Along with θi, UTD is a function of thesource angle φs, the receiver angle φr , the wedge angle n (over1 < n ≤ 2), the wave number k (given as 2π

λ), and the source and

receiver distances ds, dr . Notation details are shown in Figure 9.

(a) (b)

Figure 9: Notation for UTD calc: With the exception of theoblique incident angle θi (a), all angles are measured in the planeperpendicular to the edge. The remaining geometric terms are: thesource angle φs, the receiver angle φr , the wedge angle n (over1 < n ≤ 2), and the source and receiver distances ds, dr .

D(n, dr, dp, k, φs, φr, θi) = −e−i π

4

2n√

2πk sin θi

[cot(π + (φr − φs)

2n)F (kLα

+(φr − φs))

+ cot(π − (φr − φs)

2n)F (kLα

−(φr − φs))

+{cot(π + (φr + φs)

2n)F (kLα

+(φr + φs))

+ cot(π − (φr + φs)

2n)F (kLα

−(φr + φs))}

(1)

where:

for X < 0.8 : F (X) =√

πX(1−√

X

0.7√

X + 1.2)e

i π4

√X

X+1.4 (2)

for X ≥ 0.8 : F (X) = (1−0.8

(X + 1.25)2)e

i π4

√X

X+1.4 (3)

L =drds

dr + ds

sin2

θi (4)

α±

β = 2 cos2(2πN± − β

2) (5)

N+

=

{0 for β ≤ π(n − 1)

1 for β > π(n − 1)

N−

=

{−1 for β < π(1− n)

0 for π(1− n) ≤ β ≤ π(1 + n)

1 for β > π(1 + n)

8.2 Comparison data

In table 6 we show the detailed comparison of frustum tracing tobeam tracing for early reflections in the Bell Lab Box. The pathsequence is based on the scene geometry described in Tsingos et al.[2002].

Page 10: Interactive Edge-Diffraction for Sound Propagation in Complex ...gamma.cs.unc.edu/SOUND/Diffraction/data/utd_report.pdfwave fills the region about the edge, including the space that

Id Sequence Beam tracing Ideal frustum 5x4x4 4x3x3 3x2x21 ( 23 ) 1.6758 1.6758 1.6733 1.6721 1.65042 ( 4 23 ) 2.7205 2.7205 2.7263 2.7273 2.73053 ( 23 7 ) 2.7416 2.7416 2.7564 2.7447 2.76854 ( 5 23 ) 3.0022 3.0022 2.9983 3.061 3.13875 ( 8 ) 3.0154 3.0154 2.9715 2.9715 2.97156 ( 23 8 ) 3.0603 3.0603 3.0645 3.0626 3.06777 ( 23 9 ) 3.1522 3.1522 3.1613 3.1596 3.16168 ( 23 10 ) 3.153 3.153 3.1563 3.1628 miss9 ( 3 23 ) 3.3714 3.3714 3.3781 3.5128 3.4459

10 ( 4 6 23 ) 3.4798 3.4798 3.5069 3.4975 3.524711 ( 23 3 23 ) 3.5356 – – – –12 ( 23 8 23 ) 3.5356 – – – –13 ( 4 5 23 ) 3.5645 3.5645 3.5672 43.5309 3.559814 ( 23 2 ) 3.686 3.686 3.6919 3.6945 3.661115 ( 5 6 23 ) 3.7042 3.7042 3.702 3.6867 3.853116 ( 7 8 ) 3.715 3.715 3.7117 3.7117 miss17 ( 23 7 8 ) 3.7515 3.7515 3.7652 3.7622 miss18 ( 11 4 23 ) 3.7515 3.7515 3.7567 3.7328 3.75319 ( 4 1 23 ) 3.8117 3.8117 miss miss miss20 ( 23 7 10 ) 3.8274 3.8274 3.8376 3.8471 3.757221 ( 4 3 23 ) 3.8637 3.8637 3.977 4.0065 3.923622 ( 23 4 23 ) 3.9156 3.9156 3.9215 3.9219 3.909323 ( 3 6 23 ) 4.0093 4.0093 4.0698 4.0316 4.028224 ( 5 1 23 ) 4.0176 4.0176 4.0115 3.9897 4.188125 ( 9 8 ) 4.0275 4.0275 4.0302 4.03 4.0326 ( 23 9 8 ) 4.0612 4.0612 4.0728 4.0654 4.038227 ( 4 23 8 ) 4.1051 4.1051 4.116 4.1201 4.142828 ( 23 9 10 ) 4.1315 4.1315 4.1344 4.1488 4.149429 ( 23 3 6 23 ) 4.1483 – – – –30 ( 23 8 7 23 ) 4.1483 – – – –31 ( 4 5 6 23 ) 4.173 4.173 4.181 4.1436 4.159932 ( 23 10 23 ) 4.1956 – – – –33 ( 23 5 23 ) 4.1956 – – – –34 ( 4 23 10 ) 4.1978 4.1978 4.2075 4.219 4.219635 ( 23 7 2 ) 4.2772 4.2772 4.2928 4.3017 4.299436 ( 3 1 23 ) 4.3005 4.3005 4.3399 4.3507 4.332837 ( 11 4 6 23 ) 4.3338 4.3338 miss miss miss38 ( 11 5 4 23 ) 4.3497 4.3497 4.356 4.3671 4.321439 ( 23 8 2 ) 4.3709 4.3709 4.3767 miss 4.350440 ( 5 23 8 ) 4.3868 4.3868 4.4016 4.4434 4.568441 ( 23 3 1 23 ) 4.4304 – – – –42 ( 23 10 2 ) 4.4308 4.4308 miss miss 4.400643 ( 4 3 6 23 ) 4.4313 4.4313 4.4456 4.414 miss44 ( 4 5 1 23 ) 4.4535 4.4535 4.4613 4.3908 4.440145 ( 23 4 6 23 ) 4.4766 4.4766 4.5209 4.6119 miss46 ( 5 23 10 ) 4.4795 4.4795 4.4827 4.5372 4.542847 ( 23 9 2 ) 4.5513 4.5513 4.5611 4.5539 4.518648 ( 4 23 3 23 ) 4.5804 – – – –49 ( 4 23 8 23 ) 4.5804 – – – –50 ( 11 4 3 23 ) 4.5851 4.5851 4.5894 4.5936 miss51 ( 23 3 4 23 ) 4.5872 – – – –52 ( 23 4 3 23 ) 4.5872 – – – –53 ( 11 4 1 23 ) 4.6045 4.6045 4.7514 4.7525 4.647154 ( 4 23 7 8 ) 4.6433 4.6433 4.7602 4.7447 4.819455 ( 4 3 1 23 ) 4.6964 4.6964 4.707 4.6915 4.691156 ( 23 5 6 23 ) 4.7235 – – – –57 ( 4 23 7 10 ) 4.7254 4.7254 4.8281 4.8623 4.861758 ( 4 23 2 ) 4.7308 4.7308 4.7443 4.752 4.772259 ( 23 4 1 23 ) 4.7392 4.7392 4.8797 4.8906 4.788460 ( 3 23 8 ) 4.7561 4.7561 4.7837 4.6819 4.7119

Table 6: Path Comparison: We compare the early reflections inbeam tracing and frustum tracing. Paths that cannot be calculatedwith frustum tracing are marked as ”–”. Paths that are missed dueto error are marked as ”miss”.