0% found this document useful (0 votes)
125 views8 pages

Efficient Volume Illumination With Multiple Light Sources Through Selective Light Updates

Research implemented in INViWO by uni ulm and 3d rendering of ct scan of that mummy was created using ("MATERIAL based VOLUME RENDERING" ) different material proprietes for different types of tissues or tools. E. G:bones, blood vessels, muscles etc., that have different optical properties like texture, shininess, and light absorption to produce high-quality and realistic-looking results.That is why there are ways of how to create and assign material properties to matching tissue types (that can be integrated în an existing volume rendering framework) using programming in C/C++ and OpenGL.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views8 pages

Efficient Volume Illumination With Multiple Light Sources Through Selective Light Updates

Research implemented in INViWO by uni ulm and 3d rendering of ct scan of that mummy was created using ("MATERIAL based VOLUME RENDERING" ) different material proprietes for different types of tissues or tools. E. G:bones, blood vessels, muscles etc., that have different optical properties like texture, shininess, and light absorption to produce high-quality and realistic-looking results.That is why there are ways of how to create and assign material properties to matching tissue types (that can be integrated în an existing volume rendering framework) using programming in C/C++ and OpenGL.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Efficient Volume Illumination with Multiple Light Sources

through Selective Light Updates


Erik Sundén∗ Timo Ropinski†
Interactive Visualization Group, Visual Computing Research Group,
Linköping University, Sweden Ulm University, Germany

Figure 1: A CT scan of a mummy (438 × 289 × 1700 voxels) rendered using the proposed volumetric illumination method. To enable high contrast
in bright and shadowed areas, we use a light setup that consists of two warm (orange and red) point lights and two directional white lights.

A BSTRACT realistic lighting phenomena, such as shadowing [6], multiple scat-


Incorporating volumetric illumination into rendering of volumetric tering [8], or advanced light material interactions [16]. While these
data increases visual realism, which can lead to improved spatial techniques have advanced the degree of realism in volume rendered
comprehension. It is known that spatial comprehension can be fur- images, the integration of multiple light sources as one crucial as-
ther improved by incorporating multiple light sources. However, pect has received relatively little attention.
many volumetric illumination algorithms have severe drawbacks Multiple light source setups are an important factor when aim-
when dealing with multiple light sources. These drawbacks are ing for realistic scene representations. They enable increased con-
mainly high performance penalties and memory usage, which can trast in both shadowed and illuminated scene parts, and thus re-
be tackled with specialized data structures or data under sampling. sult in a more vivid representation (see Figure 1). Besides this
In contrast, in this paper we present a method which enables vol- impact on realism, multiple light source setups are also associated
umetric illumination with multiple light sources without requiring with improved spatial comprehension [5]. These advantages are
precomputation or impacting visual quality. To achieve this goal, widely exploited through according lighting setups in photography,
we introduce selective light updates which minimize the required while similar benefits could also be observed and exploited in vi-
computations when light settings are changed. We will discuss and sualization research. Halle and Meng could for instance show the
analyze the novel concepts underlying selective light updates, and improved perceptual benefits of complex light setups in visualiza-
demonstrate them when applied to real-world data under different tion [7], and Šoltészová et al. found evidence that contrast rich col-
light settings. ored shadow regions improve perceptual qualities of volume ren-
Index Terms: I.3.7 [Computer Graphics]: Three-Dimensional dered images [29]. While these and other findings demonstrate the
Graphics and Realism—Color, shading, shadowing, and texture importance of complex light setups in visualization, there are unfor-
tunately several technical challenges to be solved to support these
1 I NTRODUCTION setups in an efficient manner.
Since interactive volume rendering has matured, several researchers Many volumetric illumination techniques have been designed by
have focused on advanced volumetric illumination models. These taking into account a tradeoff between rendering time and mem-
models not only enable a more realistic representation of volumetric ory usage, as precomputing illumination-relevant information has
data sets, recent studies also indicate the perceptual benefits which a positive impact on rendering performance. Unfortunately, at the
come along with these models [17]. This discovery, together with same time it results in an increased memory footprint, which is of-
more general perceptual findings which suggest that spatial percep- ten prohibitive, especially when handling large data sets. Dealing
tion is heavily dependent on the used illumination model [15], have with multiple light sources poses an additional challenge, as more
motivated researchers to push the boundaries of advanced volume than one light source needs to be taken into account either during
illumination. Novel models have been designed to support various precomputation or during rendering, which naturally results in a
performance decrease. Beyond this, more data needs to be allo-
[email protected] cated to represent the illumination for each individual light source.
[email protected] Furthermore, as current volumetric illumination techniques mostly
follow an all-or-nothing approach when it comes to light updates,
frame update times and memory consumption are often propor-
tional to the total number of light sources rather than the number
of changed light sources.
To reduce the impact of these factors, we exploit two main obser- sources, this results in a penalty of rendering time or memory, or
vations which can be made when dealing with multiple light source both. In this paragraph we discuss those techniques which have
setups. originally been proposed as being able to support multiple light
sources.
Coherent propagation. While light sources may illuminate a
Spherical harmonics (SH) are frequently used in computer
scene from opposite directions, the more lights that are added
graphics to support the interactive application of low frequency en-
to a scene, the higher is the similarity of the illumination
vironmental lighting. Ritschel was the first who has applied this
directions, which enables the exploitation of performing the
concept in the area of DVR [19]. Later, Lindemann and Ropinski
propagation of multiple coherent lights simultaneously.
have shown how to use this approach also to incorporate advanced
Sequential editing. As in photography, also when designing mul- material effects [16] and Kaplanyan et al. [10] used SHs and intro-
tiple light setups in the context of visualization, light sources duce light propagation volumes to achieve indirect lighting. Kro-
are usually edited in a sequential manner. nander et al. described how to improve the performance of the SH
computation by exploiting space partitioning data structures [14].
In this paper, we propose selective light updates, a novel ap- However, SH techniques are limited to low frequency lighting. Ac-
proach for dealing with complex lighting setups in interactive vol- cordingly, it is not possible to exploit the perceptual benefits which
ume rendering. By taking into account the observation that of- are often associated with hard shadow borders [31].
ten only a few light sources of a complex light setup are changed Photon mapping has also been applied in the context of volume
interactively, selective light updates minimize the necessary re- rendering. Jönsson et al. were the first who have realized inter-
calculations. This becomes possible by exploiting a novel propaga- active volumetric illumination through photon mapping [8]. While
tion scheme, coherence-based light propagation, which incremen- their approach enables multiple light sources, data sizes become
tal generates and maintains a global, and selectively updatable, illu- prohibitive as the size of the used data structure is directly depen-
mination volume. Thus, we can obtain fast rendering times, without dent on the size of the volume and the number of traced photons.
requiring additional memory for caching individual light source in- In a recent approach by Zhang et al. [33] they directly address the
formation. In practice this means that independent of the number usage of multiple light sources, which is supported by introducing
of light sources, change of a single light source does not require certain basis functions for light projection. However, the basis func-
recomputation of the other none-modified light sources. Further- tions needs to be precomputed. Monte Carlo ray-tracing has been
more, even when recalculating the entire illumination information, proposed as another alternative for volumetric illumination [13],
our coherence-based propagation results in a significant speedup. as it also enables realistic volume illumination with multiple light
At the same time we reduce the size of the GPU memory footprint sources. Unfortunately, Monte Carlo based methods come with a
substantially, in comparison to previous approaches. performance penalty that becomes visually apparent through the
progressive nature of the algorithm. When the user interacts with
2 R ELATED W ORK
the scene, the initial image needs to be refined over time before a
In recent years, several interactive volume illumination techniques crisp image appears. To cope with such issues, several researchers
have been proposed with the goal to improve realism and the per- have presented caching techniques. Weber et al. [32] present a in-
ceptual qualities of volume rendered images [9]. In the following teractive approach of a multiple light setup by approximating and
paragraphs we discuss these related approaches based on the num- caching light transport with a set of virtual lights, and progressively
ber of supported light sources. updating them when the transfer functions changes. Schlegel et
No light source. Stewart was the first author who proposed al. [23] use summed area tables (SATs) to speed up the compu-
illumination-like enhancements of volume rendered images with- tation of dynamic lighting. However, high frequency illumination
out requiring to setup individual light sources [26]. His vicinity effects are not supported, due to a use of a low-resolution SAT. A
shading technique takes into account the occlusion of a voxel to recent article by Ament et al. [1] utilize various SATs, with differ-
represent the amount of light energy it is exposed to. While this ent sampling patterns, such as cuboid and sphere-based sampling.
works only for iso-surfaces, Ropinski et al. presented how to in- They support coherent calculation of up to six orthodirectional light
teractively realize ambient occlusion for Direct Volume Rendering sources. However, if one light sources changes all light contribu-
(DVR) [22]. Independently, Diaz et al. proposed the vicinity oc- tions has to be recomputed. To precompute lighting and support
clusion shading technique, which exploits summed area tables to interactive updates, Zhang et al. [34] utilize a convection diffusion
achieve similar visual effects in volume rendered images [4]. equation. However, they only support soft shadows due to the use
Single light source. Most volume illumination techniques have of a first-order upwind scheme.
been designed to support only a single light source. This is most
likely due to the fact, that with a single light source setup it is pos- The specific use of multiple lights for improving visual percep-
sible to propagate illumination simultaneously during rendering, a tion in volume rendering is also acknowledged by other authors.
concept first proposed by Kniss et al. [12]. Schott et al. applied Wang and Kaufman propose a lighting system together with a light
a similar proceeding to support head lights [24], which have been design algorithm, targeted towards the perceptual improvement of
identified as perceptually most effective for volumetric illumina- volume rendered images [30]. A similar goal has been targeted by
Zhang and Ma, who propose a lighting design system for automat-
tion [17]. Šoltészová et al. extended this directional occlusion shad-
ically generating three-point light setups [35]. As these systems
ing method to support light sources at an arbitrary position inside
mainly focus on the lighting setup, the described concepts can be
the viewer’s hemisphere [28]. While all these approaches facilitate
combined with the proposed approach to generate an initial light
slice-based volume rendering, other approaches employ a similar
setup.
procedure when using volume rendering based on ray-casting [27].
Some similar techniques can even be combined with arbitrary vol- To the best of our knowledge, the proposed method is the first
ume rendering techniques [6, 21]. which enables the integration of multiple colored light sources in a
Multiple light sources. The method proposed in this paper is not interactive volume illumination setup together with a selective up-
the first one that enables the incorporation of multiple light sources date process where only the contribution of changed light sources
in DVR. While many of those techniques originally proposed for are recalculated. The required storage is constant with the number
single light setups, that do not exploit the simultaneous light prop- of light sources and it supports both low and high frequency illumi-
agation mentioned above, can be extended to support multiple light nation effects.
3 VOLUME I LLUMINATION M ODEL
In this section, we detail the volumetric illumination model under-
lying our approach. We start with a requirement analysis, detailing
the desired lighting capabilities. As stated in Section 1, our main
goal is to support multiple light setups, as they are perceived as
more realistic and support a better scene perception [5]. The most
popular and also most basic multiple light setup used in photogra- (a) single light (b) butterfly lighting (c) three-point lighting
phy is the three-point lighting, used in the setup of Figure 2 (c),
which is often used in portrait photography and known to bring out Figure 2: Application of our technique with lighting setups used in
details and emphasize 3D structures in the scene. Butterfly light- photography. We show the setups butterfly lighting (b) and three-
ing, utilized in the rendering shown in Figure 2 (b), uses only two point lighting (c) as compared to a single point light setup (a).
lights, whereby one is placed on top of the main object, and one
which serves as a rim light, is place beneath. The importance of
these and other lighting setups, together with the impact of com- samples along all viewing rays. However, when dealing with mul-
plex light scenarios on the perception of visualizations [7], was a tiple point light sources, as it is done in computer graphics when
great motivation for us to achieve similar effects with volumetric using virtual point light sources [11], the integral can be simplified,
illumination. as one needs to integrate only over the light sources in the scene.
A general rule underlying multiple lighting scenarios is that each A similar observation holds for directional light sources. Never-
individual light source has its special purpose. Thus, often acces- theless, when using this simplification still the extinction T (xl , x)
sory lights are added to provide contrast in certain scene parts or needs to be solved for each individual light source, which results in
to fill the background. We see this fact nicely correlating with a a vast performance impact, dependent on the total number of lights.
study conducted by Šoltészová et al., where they show that chro- The observation of coherent propagation enables us to combine
matic shadows, an effect easily achieved with strategically placed several light sources when computing T (xl , x). Kniss et al. were the
accessory lights, have a positive impact on the perception of volume first to show that a slightly offset light direction results in convinc-
rendered images [29]. ing results when propagating light information [12]. In our work,
While these observations underline the importance of the inter- we exploit this finding in a systematic manner, by limiting the num-
play of different light sources in DVR, the way each light source il- ber of light propagation directions to a maximum of six, which cov-
luminates the scene is also of importance. As it was shown in earlier ers the principal positive and negative axis directions of a volume.
studies, both diffuse lighting [15] and hard shadow borders [31, 21] Thus we can rewrite Equation 2 as follows:
have a positive effect on scene perception. Finally, colored lights
can be used to emphasize moods in a picture. While this effect plays
an important role in photography, it might be of lesser importance  Z
~ o ) = τ(x) · q(x) + gd~ (x, ω
ρd~ (x, ω ~ i ) · s(x, ω
~ i, ω
~o)
in the area of visualization. Nevertheless, all the criteria discussed Ω
in this paragraph motivated us to design the proposed illumination 
approach. · T (xl , x) · I(xl , −~ ~i ,
ωi )d ω
To see how to incorporate these multiple light source effects into (3)
interactive DVR, we consider the standard volume rendering in-
tegral with single scattering extended for multiple light support. where d~ is one of the principal volume axes
While its most basic form only incorporates emission and absorp- [−x, +x, −y, +y, −z, +z], and gd~ (x, ω
~ i ) is a weighting factor
tion, it does not account for any external light sources or indirect
that depends on the incoming light direction ω ~ i , which is defined
illumination effects. Therefore, we follow Max’s theory on volu-
metric illumination models [18], and add a single scattering term, as follows:
thus that we can rewrite the standard volume rendering integral as:
~ < Θ~

~ i) = 1 if 6 (~
ωi , d)
gd (x, ω d (4)
Z xe 0 otherwise.
~ o ) = T (xb , xe ) · I(xb , ω 0 0 0
I(xe , ω ~o) + T (x , xe ) · ρ(x , ω
~ o )dx , (1)
xl Here, Θd~ is a 90 ◦ open angle associated with each principal axis
where I(xe , ω~ o ) denotes the radiance reaching the eye point xe from direction [−x, +x, −y, +y, −z, +z], and 6 (~ ~ denotes the angle
ωi , d)
direction ω~ o , T (x0 , x1 ) depicts the extinction between x0 and x1 , ~
between the incoming light direction ωi and d. ~
~ o ) can be considered as the local shading function that
and ρi (x, ω Several previous approaches have integrated the thus exploited
reflects light into direction ω ~ o . To consider the single scattering offset light direction in the context of slice-based volume render-
contribution, we define ρ(x, ω ~ o ) as follows: ing to achieve a single illumination pass supporting a single light
source, e. g., [24, 28]. Since we aim to cover a multitude of light
 Z  sources, potentially located at opposite ends of the volume, we can-
~ o ) = τ(x) · q(x) + s(x, ω
ρ(x, ω ~ o ) · T (xl , x) · I(xl , −~
~ i, ω ~i
ωi )d ω not combine these within a single rendering pass. Thus, for each x

(2) we compute ρd~ (x, ω ~ o ) up to six times depending on the distribution
Here, τ(x) and q(x) are the local absorption and emission properties of light positions, encoded in gd~ (x, ω~ i ).
~ i, ω
at x, and s(x, ω ~ o ) is the scattering function at x that is dependent Based on these computations, we propagate the light for the up
on the incoming light ω ~ i as well as the outgoing light ω ~ o . To take to six directions, and combine the results in an illumination volume,
into account all potential light sources, we integrate over all direc- as it has been proven viable for single light sources before [3, 20].
tions Ω and use the extinction of the radiance I(xl , −~ ωi ) coming While this procedure enables us to achieve a constant maximum
from the individual directions −~ ωi . We negate the direction here number of propagation passes, independent of the number of light
to be consistent with Equation 1 and denote that this is radiance sources (see Figure 3), it will be still more costly than just consid-
leaving from xl , being the position of the respective light source. ering a single light source. To resolve this, we take into account
When dealing with multiple light sources, the integral in Equa- our second observation describing the sequential editing of light
tion 2 is the compute-intensive part, as it has to be solved for all sources.
Using an illumination volume with sequential editing of light
sources enables us to realize selective light updates by exploiting
the additive nature of light. The key idea is that if light can be
added to an illumination volume during a light propagation pass, it
can consequently also be removed. Thus, while utilizing coherent
propagation, we cannot only add light via propagation, but we can
�� �′ �� �� �′ ��
also cancel it out by subtracting its energy. In practice this means
that we can modify a subset of a multiple light source setup for a
given Θd~ in constant time independent of the total number of light
sources. Accordingly, our algorithm enables interactive editing of
single light sources in multiple light source setups in constant time. Figure 3: By exploiting coherence-based light propagation, we
Furthermore, our storage requirement for the resulting illumination achieve a constant maximum number of propagation passes inde-
information is independent of the total number of light sources. pendent of the number of light sources. While in standard multi-light
In the next section we describe the underlying coherence-based rendering approaches (left) all light sources and their visibility would
light propagation in more detail, whereby we discuss the selective be evaluated per sample during rendering, the coherence-based
light update strategy in Section 5. propagation (right) groups light sources into propagation groups as-
sociated with the principal axis of the volume.
4 C OHERENCE - BASED L IGHT P ROPAGATION
Our foundation for selective light updates is a novel coherence-
based light propagation scheme that enables a single illumination swapped until all steps along the propagation direction have been
volume to be used even for multiple light sources. We mini- processed. Once all steps for all propagation directions are pro-
mize the required calculations by performing simultaneous light cessed, the illumination volume contains the complete light contri-
propagations, which exploit the coherence between different light bution from all light sources in the scene. During this process, the
sources. Our method supports directional, point and spot light read/write buffers are, besides the illumination volume, the only re-
sources through a coherence-based scheme that takes the correla- quired memory allocations. As a read/write buffer typically has the
tion of the light sources’ directions into account. For the point same resolution as the volumes cross-section along the propagation
and spot light sources the correlation is based on the main di- axis their memory footprint is rather small. Thus, we are able to
rection which we define as the direction from the position of the realize the integration of a large number of light sources without
light source l pos (i) to the center of the volume. Thus, the direc- reaching the memory limits of modern GPUs.
tional component ldir (i) for the ith point light can be written as To further optimize light propagation, we sort the propagation
ldir (i) = vcenter − l pos (i) with vcenter being the geometric center of groups prior propagation. As we employ read/write buffers, ad-
the volume. To associate the individual light source’s directions ditional memory reallocations might become necessary when the
with the propagation direction d~ as specified in Equation 3 we com- sizes of these buffers change. To avoid these time-consuming al-
pute hd~ (ldir (i)) = ldir (i)·−nv f ace j , where j ∈ [0..5] denotes the iden- locations, the propagation groups are sorted such that propagations
along the same axes, in positive and negative direction, are per-
tifier for one of the six faces of the volume. For each light source we
formed consecutively.
maximize hd~ and thus obtain the relevant propagation group, which
groups all relevant light sources for the current propagation direc-
tion. Each propagation group has between 0 and n lights associated 5 S ELECTIVE L IGHT U PDATES
with it, where n corresponds to the total number of light sources. As expressed in our second observation in Section 3, it is common
All lights associated to a propagation group are processed simul- that only a few of the lights present in a scene are changed simul-
taneously, and unnecessary computations are avoided by discarding taneously. Therefore, based on the coherence-based light propaga-
empty propagation groups before processing. Then the actual prop- tion scheme described in the previous section, we introduce selec-
agation is performed axis-aligned in volume space, which ensures a tive light updates, which only update light emitted from modified
traversal of all voxels in sequential order. This is of importance, as it light sources. The in-place update mechanism of the illumination
avoids race conditions when updating the illumination information volume detailed above, together with a high dynamic range illu-
for the current position of the illumination volume. Furthermore, mination volume are essential to realize these selective updates.
this considerably reduces the data transfer bandwidth requirements With these capabilities, we are able to add and subtract light en-
and thus has a large positive impact on the overall performance. ergy to/from the illumination volume in a single propagation pass.
To propagate the light without requiring an additional volume as Thus, we can enable a change in position, direction or color of a
an intermediate cache, we exploit a pair of 2D read/write buffers for light source, whereby the light contribution from the light source at
each light source. The read buffer is used to retrieve the incoming the state after the change is added to the illumination volume, and
radiance from the previous propagation step, while the write buffer the light contribution from the light source at the state before the
is used to store the outgoing radiance from the current location. change is subtracted from the illumination volume.
Therefore, we compute the outgoing radiance li (~xi , ω ~ ) for each in- To realize adding and subtracting light contributions, we modify
dividual voxel as li (~xi , ω~ ) = (1 − α(xi )) · li (x~i−1 , ω
~ ) + α(xi ) · c(xi ), the sign of the contribution factor α, as detailed in Equation 5, such
~ ) represents the light intensity that reached the pre-
where li (x~i−1 , ω that it becomes negative rather then of positive for the light source
vious voxel in direction ω ~ from the light source, α(xi ) the material being removed. Thus, the light contribution added in a previous
opacity at xi and c(xi ) the material color at xi . We would like to state for the changed light source can be removed without modify-
point out that, while previous approaches had to generate one il- ing the propagation pipeline. Furthermore, the operation of turning
lumination volume per light source [33], our novel scheme only on and off a light source is solved with even less computations as
requires a single illumination volume and at the same time enables only one subtraction or addition operation needs to be performed
selective light updates, which we detail in the upcoming section. for the switched light source.
At the end of each propagation step, the content of the write In our method, we define the term of initial light contribution
buffer is added to the appropriate slice in the resulting illumination as the initial light intensity l0 = l p · lc (r, g, b), modulated with light
volume, which might already contain light contributions from other power l p and light color lc , through which we take into account
propagation passes. Afterwards, the read and the write buffer are the absorption of light in a high dynamic range setup. The high dy-
namic range lighting setup is essential to enable the update of a light
independent of other static lights in the scene, as an arbitrary num-
ber of lights can be present at various locations and with varying
light power, as seen in Figure 4a and 4b. The contribution from all
light sources would need to be balanced against each other to com-
pensate for a insufficient dynamic range, which makes independent
update of arbitrary lights impossible.
Cost estimation. To take maximum advantage of selective light
updates, the projected performance of changing the scene needs to
be taken into account. For instance, when two light sources are
present in the scene, the projected performance of doing a selec-
tive update may be lower or higher than the projected performance
of an entire light update (recalculation of the contribution from all (a) 10 different colored lights (b) illumination volume for (a)
lights in the scene), as a selective update of one light requires prop-
agations of two lights (before and after the change), which is the Figure 4: Rendering of a human skull (a) and associated light volume
same as an entire light update for the current setup. In order to deal (b) with 10 light sources using our method.
with these, and similar scenarios, the selective update is performed
only if the estimated performance determines that a selective up-
date is less costly than an entire light update. Therefore, we have al. [20], thus the propagation steps are briefly presented here. Dur-
developed different cost measures. ing the propagation, axis permutation is applied in the form of per-
Our least complicated cost estimation is performed by determin- mutation matrices, which enables the possibility to propagate in the
ing the percentage of how many of the available light sources have illumination volume in all axis-aligned directions, positive and neg-
changed. If 50 percent or less have changed, a selective update ative, without requiring specific sampling code per axis. To avoid
is considered preferable over an entire light update. This cost is popping artifacts which would occur when a light source changes
based on the fact that a selective update of a changed light source its propagation group, a light source is represented in two propaga-
is treated as propagation of two light sources. However, it should tion groups, corresponding to the propagation along the normal of
be noted that the selective update is preferable when the percent- the closest and the second closest volume face to the light source.
age is exactly 50, due to the fact that in most scenarios the add Before the light is added to the illumination volume a contribution
and remove operations are performed along the same propagation factor is applied, as detailed in Equations 5a and 5b:
direction, which enables the propagation coherence, explained in
Section 4, to be used.
2 arccos(lpos · −nFl )
We can further extend our cost estimation to focus on the num- αcA = 1 − (5a)
ber of propagation passes needed to determine if a selective light π
update is more preferable than an entire light update. Thus, it is αscA = 1 − αcA (5b)
based on propagation coherence and uses the same assumptions as
The contribution factor describes the contribution of light between
above. However, it is preferable to utilize selective updates when
the two propagation passes and is based on the angle β between the
the number of propagations is lower than the number of propaga-
normal of the closest volume face nFl and the light source lpos .
tions for an entire light update, even if the number of lights changed
Light initialization. Currently, we support three different light
are more then 50 percent of the total number of lights.
source types. These light types are directional, point, and spot light
A detailed evaluation of the impact on different light setups is
sources. Within our algorithm, directional light is the most straight-
discussed in Section 7.
forward to handle, as the direction towards the light is always the
same. Due to the lack of a light position, the direction towards the
6 T ECHNICAL R EALIZATION point and spot light needs to be calculated at every position inside
We have implemented the proposed concepts utilizing the OpenGL the volume. Furthermore, when performing propagation of a spot
API, whereby we keep the illumination volume as a 4 channel 32- light, the cone angle needs to be accounted for.
bit 3D texture, and the read/write buffers are 4 channel 32-bit 2D To optimize and simplify the propagation, we initiate the read
textures. We could also store all illumination data as single channel buffer to match the projection of the light as shown in Figure 5. For
data, but then it would not be possible to propagate colored lights. directional lights, the read cache is initialized with a constant color
To be able to realize random read/write operations in the illumina- based on the color and intensity of the light. For point and spot
tion volume in the fragment shader stage, OpenGL 3.0 and above is lights, the read cache is generated by projecting the light with pro-
required for our technical realization. Besides the memory reduc- jective texture mapping [25] towards a plane where the propagation
tion, the in-place illumination propagation also results in improved will start, before spreading out the color contribution. Thus, both
performance, due to the faster read/write operations for 2D textures, point and spot light can be treated the same way during propaga-
compared to 3D textures. tion, and we do not need to perform any specific operation for the
For the coherence-based light propagation detailed in Section 4, first propagation step.
we manage the processing of lights in the same propagation group
during one propagation pass by attaching all read and write caches
to one frame buffer object and binding all caches to individual tex-
ture units. Thus, we can exploit multiple render targets to update
the write caches, and perform a ping-pong swap between the texture
units and the attachment IDs, without the need to change the frame
buffer object. By varying the number of render targets a trade-off
between performance and memory can be made. If the number of
lights in one propagation pass is larger than the number of render Figure 5: For the supported light source types (directional, point, and
targets, the propagation group is divided into to multiple groups. spotlight (from left to right), we project the light sources on the initial
The propagation follows the scheme proposed by Ropinski et volume slice before we perform our coherence-based propagation.
(a) local shading only (b) 1 white point light (c) 1 orange directional light (d) 1 pink point light (e) all 3 lights from b-d

Figure 6: Renderings of CT data set of a male’s upper body. In (a) only local shading is used with the Ashikhmin-Shirley model [2]. One light
has been added in (b), (c) and (d) respectively, with varying characteristics of light type, direction and color. All the three light sources from (b),
(c) and (d) are then used together in (e), which is rendered with our volume illumination approach that supports multiple light sources.

(a) 1 directional light (white) (b) 2 directional lights (white) and 1


point light (orange)
(a) illumination volume with 1 yel- (b) illumination volume with 1 yel-
low point light low and 1 blue point light Figure 8: When applied to complex 3D structures, the use of multi-
ple light sources not only increases the level of realism, but also the
Figure 7: Light contribution to a scene. (a) shows the illumination contrast in lit and shadowed areas, which emphasize the structures.
volume, of three spheres, under lighting from one yellow point light
from the left of the volume, relative to the camera. In (b) an additional
blue point light has been added, whose location is on the right side of introduced light sources to show the correctness of our technique.
the volume, thus there are areas to the left of the spheres where the We can see that the combination in (e) illuminates almost all areas
blue light is not present, and areas to the right of the spheres where
of the volume, while still providing sufficient depth cues.
the yellow light is not present.
Figure 8 (a) shows renderings of a heart data set with only one
light source, which is similar to what can be achieved with other
high-quality propagation methods [20, 27]. In Figure 8 (b) the light
7 R ESULTS & D ISCUSSION setup has been change of accommodate three different lights. The
To demonstrate the utility of the presented approach, we have pro- fill lights (directional) are utilized to increase contrast so that previ-
duced visual results and performance measurements as well as dis- ously invisible structures can emerge more prominently.
cussed limitations, which is outlined in the following subsections. As we can practical achieve and maintain an interactive and ex-
ploratory multiple light source setup efficiently, we further provide
7.1 Visual Results visual results of rendering including various multiple light source
To validate the correctness of the presented light propagation al- setups to motivate our method.
gorithm, we have applied it to a simple synthetic scene containing Figure 1 shows a rendering of a mummy with a lighting setup
of three spheres (see Figure 7). We compare the achieved effects consisting of four different lights. Two white lights are placed
when applying lighting from one yellow point light from the left slightly below and above the mummy, relative to the camera, which
(Figure 7 (a)) to adding an additional blue point light from the right resembles the butterfly lighting setup. The remaining lights (one
(Figure 7 (b)). As can be seen, there are areas to the left of the orange and one red), are introduced to enhance the warm materials.
spheres not covered by the blue light, and areas to the right of the Finally, Figure 9 shows two renderings of the classic engine data
spheres where the yellow light is not covered accordingly. set under a light setup of three different lights, with varying light
Figure 6 show renderings of a male’s upper body, with various color, to show the influence of this light parameter. Two of the
lighting setups. The setup in Figure 6 (a) contains only local shad- lights in Figure 9 (a) are white and the third is yellow/orange, while
ing [2]. In Figure 6 (b), (c) and (d) we use the same setup as (a) but all three lights in in Figure 9 (b) varying bright blue colors. As
add global illumination in form of one light source with different can be seen, the engine can be perceived as warm in in Figure 9 (a)
characteristics. Finally, in Figure 6 (d) we combine all previously while cool tones dominate in Figure 9 (b).
Illumination Entire Light Update Selective Light Update (One light)
Data Volume Volume Light Sequential Coherence-based Coherence-based propagation
Data Resolution (DR) Resolution Count propagation propagation State change On/Off
Engine 256x256x256 DR * 1 2 129 ms 114 ms 72 ms 30 ms
DR * 1 3 192 ms 124 ms 72 ms 30 ms
DR * 1/4 2 22 ms 18 ms 11 ms 5 ms
DR * 1/4 3 30 ms 20 ms 11 ms 5 ms
Heart 512x512x338 DR * 1 3 1093 ms 747 ms 430 ms 183 ms
DR * 1/4 3 153 ms 102 ms 58 ms 27 ms
Male 512x512x460 DR * 1/4 4 273 ms 152 ms 78 ms 35 ms
Mummy 438x289x1700 DR * 1/4 4 533 ms 340 ms 170 ms 64 ms

Table 1: Performance measurements of our illumination calculations for various light setups and data sets. The numbers show the performance
increase achieved with coherence-based propagation when all lights have to be recomputed (entire light update) and for selective light update
of only one light. For the updates, we differentiate between two cases, light state changes (e.g., color, position or type) and toggling a light.

500

Calculation Time (ms)


400
Sequential
Light Propagation
300 Coherence-based
Light Propagation

(a) 2 directional lights (white) and 1 (b) 2 directional lights (blue) and 1 200
point light (yellow) point light (blue)
100
Figure 9: The engine data set rendered with our approach and col- 60
30
ored light setups to shift the image tone from warm (a) to cool (b). 0 10 20 30 40
Number of Lights

7.2 Performance Measurements Figure 10: Performance measurements of our coherence-based


propagation compared to sequential propagation The results have
We have further analyzed the performance outcome of coherence- been achieved for a data resolution of 2563 for read and storage.
based light propagation and selective light update independently.
The results are shown in Table 1, where we have applied the ap-
proach to different data sets, with varying number of light sources, selective light updates are substantially faster than computing the
varying illumination volume and buffer sizes, and with 1 or 1/4 contribution of all lights. This is the case, as the selective light prop-
times the resolution of the actual data. For each of the resulting agation passes are almost always processed in the same pass, due
scenarios, we first analyze the gain of the coherence-based propa- to small directional/positional change of the one light that moves
gation by comparing it with sequential propagation carried out for around in the scene. We have also performed a scaling test, where
each individual light source. Secondly, we analyze the benefit of se- we measured the calculation time for a scene containing 1-40 lights,
lective light updates by measuring the performance of a single light all with the same direction (see Figure 10). Based on the results
update. As light state changes, e. g., changing a light’s color, posi- of these measurements, we can see that calculation time for both
tion or type, require one update pass to remove and one update pass methods increases linearly. However, while the sequential approach
to add the light, we also measured the performance for switching increases by 30 ms per added light, the increase for our coherence-
lights on or off. based light propagation is only 1-2 ms per added light. All mea-
The measurements show that coherence-based light propagation surements were performed on a computer equipped with an Intel
increases the performance in all our real-world scenarios, where in CPU (Xeon W3550 3.07GHz), 6 GB RAM and an NVIDIA GPU
the general case it is 1.5 times faster than sequential light propaga- (Asus GTX670-DC2-4GD5G).
tion, which is defined as one light per propagation pass. However,
if all propagation passes have only one light source, which is pos- 7.3 Limitations
sible in a setup with 2-3 lights, due to the 6 possible propagation The dynamic range of the illumination is limited to the storage pre-
directions, the performance of coherence-based propagation would cision, currently 32-bit in our setup. If the total light exceeds this
be identical to sequential propagation, for an update of all lights. precision, the intensity of all light has to be scaled by reducing them
The measurements also show that selective light updates equally. Fortunately, we did not reach this limit in practice.
decrease calculation time further, and when combined with A spot light could be placed inside the volume without overhead
coherence-based light propagation, a state change performed on if the cone angle does not result in propagation of more than two
one light resulted in a speedup proportional to the number of light passes. However, propagating a point light located inside the vol-
sources in the scene, and light toggling(on/off) additional twice as ume is expensive as all six axis-aligned propagations are needed.
fast. The results are expected as a setup with many lights should In computationally heavy situations, for instance in a setup of
gain substantial performance increase by utilizing selective light many light sources spread out in all directions and inside the vol-
update for single light source changes. ume, interactive exploration might not be possible when a recom-
Our least beneficial setup for selective light update, when a state putation of the contribution of all lights is needed. To achieve an
change only results in 1.68 times speedup, occur when only two interactive setup the illumination volume can be incrementally up-
light sources are utilized, and even then, the calculation time for dated from a specific number of propagations per frame.
8 C ONCLUSIONS & F UTURE W ORK [13] T. Kroes, F. H. Post, and C. P. Botha. Exposure Render: An Interactive
Within this paper, we have proposed a novel approach for dealing Photo-Realistic Volume Rendering Framework. PLoS ONE, 7, 2012.
[14] J. Kronander, D. Jönsson, J. Löw, P. Ljung, A. Ynnerman, and
with multiple light sources in the context of interactive volume ren-
J. Unger. Efficient Visibility Encoding for Dynamic Illumination in
dering with global volumetric illumination. With coherence-based
Direct Volume Rendering. IEEE Transactions on Visualization and
light propagation we could achieve performance improvements of Computer Graphics, 18(3):447–462, 2012.
at least 50 percent, and when combined with selective light updates [15] M. S. Langer and H. H. Bülthoff. Depth discrimination from shading
the speedup increased proportional to the number of light sources under diffuse lighting. Perception, 29(6):649–660, 2000.
present in the setup. A controlled scalability test performed by it- [16] F. Lindemann and T. Ropinski. Advanced Light Material Interaction
eratively increasing the number of light sources could also show a for Direct Volume Rendering. In IEEE/EG International Symp. on
speedup of up to 15 times. Volume Graphics, pages 101–108, 2010.
Furthermore, the selective light updates enabled updating of only [17] F. Lindemann and T. Ropinski. About the Influence of Illumination
modified light sources, which results in constant performance inde- Models on Image Comprehension in Direct Volume Rendering. IEEE
pendent of the number of used light sources. To increase the advan- Transactions on Visualization and Computer Graphics, 17(12), 2011.
tage of selective light updates we further have discussed different [18] N. Max. Optical Models for Direct Volume Rendering. IEEE Trans-
cost estimations, which regulate when it is advantageous to per- actions on Visualization and Computer Graphics, 1(2):99–108, 1995.
form a selective update. While coherence-based light propagation [19] T. Ritschel. Fast GPU-based Visibility Computation for Natural Illu-
is the foundation for the selective light update concept, both con- mination of Volume Data Sets. In Eurographics Short Paper Proc.,
cepts benefit from an in-place light propagation which minimizes pages 17–20, 2007.
the required memory. The presented results show realistic illumina- [20] T. Ropinski, C. Döring, and C. Rezk Salama. Advanced Volume Il-
tion effects, with high and low frequency shadows, achieved under lumination with Unconstrained Light Source Positioning. IEEE Com-
lighting setups with multiple light sources. puter Graphics and Applications, 30(6):29–41, 2010.
[21] T. Ropinski, J. Kasten, and K. Hinrichs. Efficient Shadows for GPU-
We have currently not addressed the integration of multiple scat-
based Volume Raycasting. In International Conference in Central
tering into our proposed concepts. Such an incorporation would
Europe on Computer Graphics, Visualization and Computer Vision
yield additional calculation time and should optimally be made in (WSCG), pages 17–24, 2008.
such a way that independent addition and removal of multiple scat- [22] T. Ropinski, J. Meyer-Spradow, S. Diepenbrock, J. Mensmann, and
tering is performed in a selective update. Furthermore, we would K. H. Hinrichs. Interactive Volume Rendering with Dynamic Am-
like to extend the selective updates to take structures inside the vol- bient Occlusion and Color Bleeding. Computer Graphics Forum,
ume into account, thereby only updating affected regions. 27(2):567–576, 2008.
[23] P. Schlegel, M. Makhinya, and R. Pajarola. Extinction-based Shading
Acknowledgements and Illumination in GPU Volume Ray-Casting. IEEE Transactions on
The data set shown in Figure 1 is courtesy of Sectra AB, Sweden. Visualization and Computer Graphics, 17(12):1795–1802, 2011.
The presented concepts have been developed and evaluated in the [24] M. Schott, V. Pegoraro, C. Hansen, K. Boulanger, and K. Bouatouch.
Inviwo framework (www.inviwo.org). A Directional Occlusion Shading Model for Interactive Direct Volume
Rendering. Computer Graphics Forum, 28(3):855–862, 2009.
R EFERENCES [25] M. Segal, C. Korobkin, R. van Widenfelt, J. Foran, and P. Haeberli.
[1] M. Ament, F. Sadlo, C. Dachsbacher, and D. Weiskopf. Low-Pass Fast shadows and lighting effects using texture mapping. ACM SIG-
Filtered Volumetric Shadows. IEEE Transactions on Visualization and GRAPH Computer Graphics, 26(2):249–252, 1992.
Computer Graphics, 20(12):2437–2446, 2014. [26] A. J. Stewart. Vicinity Shading for Enhanced Perception of Volumetric
[2] M. Ashikhmin and P. Shirley. An Anisotropic Phong BRDF Model. Data. In IEEE Visualization, pages 355–362, 2003.
J. Graph. Tools, 5(2):25–32, 2000. [27] E. Sundén, A. Ynnerman, and T. Ropinski. Image Plane Sweep Vol-
[3] U. Behrens and R. Ratering. Adding Shadows to a Texture-Based ume Illumination. IEEE Transactions on Visualization and Computer
Volume Renderer. In IEEE/EG Symp. on Volume Visualization, 1998. Graphics, 17(12):2125–2134, 2011.
[4] J. Dı́az, H. Yela, and P.-P. Vázquez. Vicinity Occlusion Maps - En- [28] V. Šoltészová, D. Patel, S. Bruckner, and I. Viola. A Multidirectional
hanced depth perception of volumetric models. In Computer Graphics Occlusion Shading Model for Direct Volume Rendering. Computer
Int., pages 56–63, 2008. Graphics Forum, 29(3):883–891, 2010.
[5] R. W. Fleming, R. O. Dror, and E. H. Adelson. Real-world illumina- [29] V. Šoltészová, D. Patel, and I. Viola. Chromatic Shadows for Im-
tion and the perception of surface reflectance properties. Journal of proved Perception. In Proc. of Non-Photorealistic Animation and Ren-
Vision, 3(5):3, 2003. dering (NPAR), pages 105–115, 2011.
[6] M. Hadwiger, A. Kratz, C. Sigg, and K. Bühler. GPU-Accelerated [30] L. Wang and A. E. Kaufman. Lighting System for Visual Perception
Deep Shadow Maps for Direct Volume Rendering. In ACM SIG- Enhancement in Volume Rendering. IEEE Transactions on Visualiza-
GRAPH/EG Conference on Graphics Hardware, pages 27–28, 2006. tion and Computer Graphics, 19(1):67–80, 2013.
[7] M. Halle and J. Meng. LightKit: A lighting system for effective visu- [31] L. C. Wanger, J. A. Ferwerda, and D. P. Greenberg. Perceiving Spa-
alization. In IEEE Visualization, pages 363–370, 2003. tial Relationships in Computer-Generated Images. IEEE Computer
[8] D. Jönsson, J. Kronander, T. Ropinski, and A. Ynnerman. Histo- Graphics and Applications, 12(3):44–51, 54–58, 1992.
rygrams: Enabling Interactive Global Illumination in Direct Volume [32] C. Weber, A. Kaplanyan, M. Stamminger, and C. Dachsbacher. Inter-
Rendering using Photon Mapping. IEEE Transactions on Visualiza- active Direct Volume Rendering with Many-light Methods and Trans-
tion and Computer Graphics, 18(12):2364–2371, 2012. mittance Caching. In Proc. of the International Workshop on Vision,
[9] D. Jönsson, E. Sundén, A. Ynnerman, and T. Ropinski. A Survey of Modeling, and Visualization, pages 195–202, 2013.
Volumetric Illumination Techniques for Interactive Volume Render- [33] Y. Zhang, Z. Dong, and K. Ma. Real-time Volume Rendering in
ing. Computer Graphics Forum, 33(1):27–51, 2014. Dynamic Lighting Environments Using Precomputed Photon Map-
[10] A. Kaplanyan and C. Dachsbacher. Cascaded Light Propagation Vol- ping. IEEE Transactions on Visualization and Computer Graphics,
umes for Real-time Indirect Illumination. In Proc. of SIGGRAPH 19(8):1317–1330, 2013.
Symp. on Interactive 3D Graphics and Games, pages 99–107, 2010. [34] Y. Zhang and K.-L. Ma. Fast Global Illumination for Interactive Vol-
[11] A. Keller. Instant Radiosity. In Proc. of the 24th Annual Conference on ume Visualization. In Proc. of SIGGRAPH Symp. on Interactive 3D
Computer Graphics and Interactive Techniques, pages 49–56, 1997. Graphics and Games, pages 55–62, 2013.
[12] J. Kniss, S. Premoze, C. Hansen, P. Shirley, and A. McPherson. A [35] Y. Zhang and K.-L. Ma. Lighting Design for Globally Illuminated
Model for Volume Lighting and Modeling. IEEE Transations on Vi- Volume Rendering. IEEE Transactions on Visualization and Com-
sualization and Computer Graphics, 9(2):150–162, 2003. puter Graphics, 19(12):2946–2955, 2013.

You might also like