0% found this document useful (0 votes)
31 views9 pages

Real-Time Volumetric Billboards

The document introduces volumetric billboards, an image-based representation that allows real-time rendering of semi-transparent and complex 3D objects. Volumetric billboards provide full parallax from any view and handle transparency between overlapping objects without sorting. They can be integrated with standard rendering techniques and used to represent levels of detail for complex models.

Uploaded by

Terry Lynn
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)
31 views9 pages

Real-Time Volumetric Billboards

The document introduces volumetric billboards, an image-based representation that allows real-time rendering of semi-transparent and complex 3D objects. Volumetric billboards provide full parallax from any view and handle transparency between overlapping objects without sorting. They can be integrated with standard rendering techniques and used to represent levels of detail for complex models.

Uploaded by

Terry Lynn
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

Preprint.

The definitive version is available COMPUTER GRAPHICS forum


at [Link] Volume 28 (2009)

Volumetric Billboards

Philippe Decaudin1,2 and Fabrice Neyret1

1 LJK/IMAG-INRIA Grenoble, France


2 CASIA Beijing, China

Abstract
We introduce an image-based representation, called volumetric billboards, allowing for the real-time rendering
of semi-transparent and visually complex objects arbitrarily distributed in a 3D scene. The representation offers
full parallax effect from any viewing direction and improved anti-aliasing of distant objects. It correctly handles
transparency between multiple and possibly overlapping objects without requiring any primitive sorting. Further-
more, volumetric billboards can be easily integrated into common rasterization-based renderers, which allows for
their concurrent use with polygonal models and standard rendering techniques such as shadow-mapping.
The representation is based on volumetric images of the objects and on a dedicated real-time volume render-
ing algorithm that takes advantage of the GPU geometry shader. Our examples demonstrate the applicability
of the method in many cases including levels-of-detail representation for multiple intersecting complex objects,
volumetric textures, animated objects and construction of high-resolution objects by assembling instances of low-
resolution volumetric billboards.
Keywords: image-based rendering, billboards, real-time rendering, geometry shader

1. Introduction viewed at a distance. Geometric levels-of-detail techniques


such as polygon reduction do not help in such cases since
Image-based representations are attractive alternatives to thin and possibly disconnected elements cannot be merged
classical polygonal models for real-time 3D applications. into larger polygons without deteriorating the visual appear-
They are able to represent geometrically complex objects in- ance of the model, even when seen from far away. Indeed,
dependently of their complexity. This includes objects made to be accurately filtered according to the viewing distance, a
of many small, thin and possibly disconnected elements set of opaque elements that do not entirely fill a space region
that become individually indistinguishable at a distance but should be replaced with a semi-transparent primitive.
still predominantly contribute to the overall shape of the
object. Examples of such objects are commonly found in Image-based techniques are well suited to represent semi-
nature (plants, trees, objects covered by fuzzy material,...) transparency, this is done by storing an opacity value in the
and in man-made detailed structures (complex constructions, images. Furthermore, they ease the representation of anti-
metallic structures,...). In mesh representations, these ob- aliased levels-of-detail since the images can be progressively
jects are difficult to visualize in real-time because of the filtered and stored as MIP-maps. However, image-based rep-
large number of primitives required to render them. More- resentations used in real-time applications often suffer from
over, they are also prone to aliasing artifacts since the primi- unpleasant visual artifacts, such as limited parallax effects
tives can be much smaller than the size of a pixel on screen. and popping. Moreover, the integration of multiple and ar-
These issues become all the more acute when the object is bitrarily placed objects in a 3D scene presents the problem

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and
350 Main Street, Malden, MA 02148, USA.
Ph. Decaudin & F. Neyret / Volumetric Billboards

of correctly handling transparency. The semi-transparent re- dling of semi-transparent billboard regions has not been ad-
gions of different images must be composited in the right or- dressed satisfactorily. Even if the original object is opaque,
der to yield a correct result. For non-overlapping objects, the its contours will become semi-transparent with MIP-map fil-
immediate solution would be to sort their bounding boxes tering. Sorting billboards for correct transparency is costly
(or bounding polyhedra in the general case) and to ren- and requires splitting the (numerous) billboards which in-
der them in the appropriate order. But sorting them accu- tersect each other. Furthermore, if several such intersecting
rately with respect to the current view projection is non- objects have to be considered, the sorting and splitting must
trivial [CMSW04], and not always possible (see Figure 1). be done globally (at runtime if objects move).
For overlapping objects, this implies that the rendering al-
gorithm cannot process the objects one at a time and thus Other impostor-based techniques use a set of cached im-
should handle multiple objects altogether in order to inter- ages of different views to represent an object [MS95,TK96].
mix their data. To better capture and render a 3D shape, the images can be
layered [Sch98], pre-warped [OBM00], or augmented with
In this paper, we introduce
depth information e.g., [PO06, ABB∗ 07]. However, those
an image-based representation,
methods are restricted to essentially opaque objects, and can-
called volumetric billboards,
not represent objects that become fuzzy or semi-transparent
which efficiently solves these
at a distance. Light fields [LH96, GGSC96] are an inter-
issues. In particular, this rep- Figure 1: Boxes cannot al-
esting approach to compress the aspect from all directions
resentation is able to properly ways be sorted in a back-to-
of any complex object (real or CG). But it does not permit
render a set of semi-transparent front order wrt. the viewer.
the mixing with other 3D primitives in the same area. More-
objects that may overlap with each other or intersect other
over, the shading is frozen in the data, or 2 extra dimensions
objects represented by polygonal models. The basic idea is
should be used to include this degree of freedom, rising the
to directly rely on volumetric images of the objects possibly
light field to 6D.
generated from the voxelization of their polygonal models.
The volumetric billboards are defined as a set of 3D cells ar-
Real-time volume rendering has focused predominantly
bitrarily placed in a 3D scene and filled with the volumetric
on texture-based approaches. Slice-based methods [CCF94,
images. The volumetric images are MIP-mapped and stored
LL94] use a stack of parallel planes as a proxy geome-
into 3D textures. The cell vertices have 3D texture coordi-
try to sample the volume and evaluate the volume render-
nates that map a volumetric image to the cell. They are ren-
ing integral by blending the slices. These methods are still
dered with a dedicated slice-based volume rendering algo-
widely used in interactive volume visualization applications
rithm that renders all the volumetric billboards at once and
because of their easy implementation and their ability to ben-
correctly handles transparency without requiring any sort-
efit from hardware trilinear texture interpolation and pre-
ing. The rendering algorithm also adapts to render distant
integration schemes to generate high quality images at a
volumetric billboards more efficiently, while ensuring accu-
high framerate [EE02]. The recent development of program-
rate anti-aliasing and MIP-map filtering.
mable graphics hardware has also led to the emergence of
As our results show, volumetric billboards allow for the GPU-based implementations of raycasting [KW03]. This
real-time visualization of many complex objects, with full approach eases optimizations such as early-ray termina-
parallax from any viewing direction and anti-aliased levels- tion and empty-space skipping. Even though, GPU spe-
of-detail. These objects can be seamlessly integrated into a cific issues have to be considered carefully to avoid perfor-
scene containing polygon-based objects. Furthermore, volu- mance drop [HSHH07]. Both slice-based and raycasting ap-
metric billboards can be mapped onto a surface to cover it proaches have mainly targeted visualization of a single vol-
like a volumetric texture (in the sense of [KK89]). ume (such as scientific simulation results or medical data).
Integrating multiple volumes in a 3D scene includes issues
2. Previous Work related to data intermixing of the multiple and possibly ove-
lapping volumes, and integration with polygonal models.
Our approach is mainly related to image-based rendering
[CS99] discriminates three levels of data intermixing. The
and real-time volume rendering techniques. A large litera-
simplest processes the volumes separately and merges the
ture has been devoted to these two fields, so we will focus
final images, which obviously produces unrealistic effects.
only on techniques closely related to ours. Extensive and re-
The intermediate level mixes the visual contribution of each
cent reviews can be found in [JWP05] for image-based ren-
volume present at a same location during voxel traversing.
dering, and in [HKRS∗ 06] for real-time volume rendering.
The more complex level intermixes the illumination models
The billboard technique and its extensions, such of overlapping voxels. These last two levels fit our require-
as [DDSD03], represent an object by one or more intersect- ments, but the intermediate one has the advantage of gener-
ing textured quads. They share the advantages of image- ality: Mixing illumination models in the general case is still
based representation, such as low rendering cost and MIP- an open problem which the intermediate level avoids by mix-
map filtering with the distance. However, the correct han- ing voxels after their shading evaluation. The slight loss in

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

image quality is indeed acceptable for real-time rendering.


This is the data intermixing level considered in this paper.
Regarding GPU-raycasting, the design of algorithms able
to handle the data intermixing leads to complex and costly
solutions. Basically, if one wants to render several semi-
transparent volume objects (that may intersect one another), Figure 2: Left: A cube made of two prism-shaped cells and sliced
they have to be considered at once during the ray integration. parallel to the screen. Right: The interval between slices is adapted
This suggests a dedicated compositing step [Gri05] and or- with the distance.
ganizing the volumes into a larger spatial data structure to be
interpreted as a participating medium, our data are meant
handled by the GPU.
to directly represent appearance, as in other image-based
On the other hand, slice-based rendering directly solves representations. In particular, color and opacity are poten-
the problem of mixing volumes with polygonal objects tially view-dependent, and extra information such as nor-
present in the scene and pre-rasterized: It produces pixel mals might be available. This impacts the way volumes
fragments at their correct z-position that are then tested are built from source object description, how the volumes
against the current value stored in the z-buffer before being are filtered for MIP-mapping, and how they are rendered.
composited with the fragments coming from the next slice. Moreover, the source objects do not only consist of geom-
Regarding correct transparency handling of multiple semi- etry, especially if they were originally designed for high-
transparent volumes, a solution dedicated to the rendering of quality rendering. They can also have textures, precalculated
volumetric textures (in the sense of [KK89]) mapped onto data such as ambient occlusion [ZIK98], and even complex
a surface has been proposed by [LDS02]. Their scheme ren- shaders. The fact that we build our volume from object ap-
ders a set of prism-shaped cells filled with a semi-transparent pearance (using pre-renderings) allows us to capture all these
3D texture, without requiring them to be sorted. This inter- features. However, our scope is the high performance ren-
esting property leads us to build our solution on this slicing dering of the volumes. For efficiency in terms of storage and
scheme. We generalize their scheme to account for impor- pixel shading, the implementation used for our examples do
tant issues related to cells arbitrarily placed in a 3D scene. not encode view-dependent information in the 3D textures.
This includes the handling of disconnected cells possibly Our voxels simply contain classical RGBA components and
filled with different textures as well as the handling of MIP- possibly a normal N. But the volume data and associated
mapped volume for distant objects. We also enhance the effi- MIP-map pyramids are built so that the impact of this sim-
ciency of the scheme with an improved prism/plane intersec- plification is reduced, as described in the next section.
tion algorithm implemented on GPU (as a geometry shader)
3.2. Volume data generation
to slice the cells.
Colors and transparency: Regarding color and trans-
3. The volumetric billboards model parency, the offline creation of volume data from source ob-
3.1. Representation jects is inspired from [DN04]. In that paper dedicated to for-
est rendering, voxelization of trees is performed by render-
Our representation is composed of a set of triangular prism- ing a stack of top-view slices of the trees. Each slice image
shaped 3D cells arbitrarily positioned in the scene with is obtained by fitting an orthographic camera above the trees
3D texture coordinates at their vertices, and a set of volume and setting its near and far clip planes to match the slice posi-
data stored into 3D textures which are mapped into the cells. tion and thickness (a similar approach is also used for opac-
In typical uses, the cells are likely to overlap. ity shadow maps in [KN01]). RGBA image components are
then used to fill the corresponding slice of the volume. Thus,
The cell: Triangular prism-shaped cells are very convenient:
the volume encodes the top-view appearance of the trees.
First, two prisms can form a box, which is the most common
This choice was made because the primary goal of [DN04] is
bounding polyhedron for an object (Figure 2-left). Second,
forest flyover. In our case, volumetric billboards are viewed
the plane/cell intersection algorithm to slice the cells can be
from any direction. To produce volume data that remains ac-
expressed in a compact and efficient manner for prisms (see
ceptable from any view, we extend the algorithm to combine
Section 3.3.2). Finally, prisms can be generated by extruding
the source objects appearance rendered from the six axis di-
any triangular mesh, which facilitates the creation of volu-
rections. Six stacks of slices (one for each direction) are gen-
metric billboards for covering a surface, and thus extends
erated. Each voxel of the volume is then filled by a color and
their use to volumetric texturing. Our cell shape is a general-
transparency resulting from the combination of the values
ized triangular prism defined as an extruded triangle where
sampled in each direction. A neutral combination function
the three extruded edges do not need to be parallel or to have
would be simple averaging. However, depending on the kind
the same length.
of content, it can be interesting to favor some features such
The volume: Unlike volumes generated from medical or as the opacity of thin objects like straws or leaves. In this
simulation applications for which the data (e.g., a density) is case, a max function might be prefered to preserve them.

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

Thus, the function choice is a parameter of the voxelization To MIP-map our captured normals, we rely on the nor-
process to be set by the user. This representation can be seen mal filter proposed in [Tok05]. Although approximate, this
as a volume in which voxel RGBA anisotropy is sampled in works well in practice for objects with a fairly smooth shape,
six directions in the spirit of what [Nom95] does for leaves such as the objects of Figure 9.
in his volumetric texture of trees.
Since the view-dependent information has been merged in 3.3. Rendering
the resulting volume, building a MIP-map pyramid by filter-
3.3.1. Algorithm
ing this volume at lower resolutions would lead to poor qual-
ity MIP-maps which tend to become over-transparent. To al- At runtime, we have to efficiently render the set of possibly
leviate this issue, we preserve the view-dependent informa- overlapping volumetric billboards arbitrarily placed in the
tion as long as possible during the process (Figure 3). First 3D scene while correctly handling transparency and levels-
we separately build six volume MIP-map pyramids from the of-detail.
six stacks of slices rendered previously. Each MIP-map pyra-
mid is built following the algorithm of [DN04] that takes into Our solution general-
account the occlusion that occurs between the slices in the izes the scheme proposed
stack view direction: In that direction, instead of averaging by [LDS02] dedicated to
the slices by pair, these pairs are composited. The compo- volumetric texture render-
sition uses the back-to-front alpha blending equation which ing. Instead of rendering
thus accounts for occlusion. Finally for each MIP-map level, each cell seperately, their
the six volumes of the six pyramids are combined into one algorithm renders them all Figure 4: Slicing: Intersection
using the combination function defined by the user. at once (Figure 4). It gen- of all cells with slice 1 is drawn
erates uniformly-spaced first, then with slice 2, and so on.
slice planes parallel to the
screen from back to front with respect to the camera. For
each slice it computes all the polygons that correspond
to the intersection of the given slice with all the cells. It
draws these polygons and then moves to the next slice.
Thus, the polygons are drawn in a back-to-front order with
respect to the camera and do not need any additionnal
sorting for correct transparency compositing. They are
Figure 3: Volume MIP-maps construction from 6 view directions composited using the back-to-front alpha blending equation
(α : alpha blending operator in the view direction, f : user defined C’ = As .Cs + (1 − As ).C where C and C’ are the current and
voxel combination function). new pixel colors, and As and Cs the alpha and color of the
polygon texture.
Reflectance: The image-based representations commonly
In [LDS02] there is no overlap (their cells tile a surface).
used in real-time applications either encode the normal for
For overlapping cells, the intersection polygons belonging to
runtime shading (e.g., bump-maps) or precompute the shad-
one slice may overlap. This may lead to popping due to sud-
ing in the color texture (this is frequently done for 2D
den change of drawing order (e.g., when turning around). To
billboards, especially when they represent plants or trees).
avoid popping we enforce the drawing order of the polygons
Moreover, nowadays a part of the lighting is often pre-
on a view-independent deterministic way, based on cells ID.
computed in textures even for quality-rendering applications
Other restrictions of [LDS02] are that all the cells share the
(e.g., ambient occlusion).
same texture and that the method is not aimed at complex
We combine both approaches: When processing the objects or scenes: Every cell is considered for intersection
source objects we capture images of normals as well, and with a slice, and the whole scene must be sliced (with reg-
in the captured colors we can account for any feature the ular sampling). Sampling empty space and intersecting all
user prefers to precompute rather than evaluate at runtime in cells is especially inefficient for complex objects or scenes.
a pixel shader. However, sampling normals has limitations. We deal with these issues in the paragraph Slab partitioning.
E.g., for objects made of thin elements (for instance, objects Moreover, at this scale perspective counts, so LOD repre-
of Figures 8, 11 and 13), a single normal does not bring sentation and adaptive sampling should be used. Our repre-
enough information to represent the filtered reflectance. In sentation accounts for LOD and our rendering does slice the
such cases, normals are not reliable and precalculation is space adaptively (Figure 2-right). To that purpose, hardware
preferable. Still, we might approximate the lighting as a sep- volume MIP-mapping is enabled and the distance between
arable low-frequency and high-frequency lighting, precalcu- two successive slices is adjusted to fit the size of one voxel
lating the local high-frequency lighting and storing a low- at its MIP-map level corresponding to the slices position, as
frequency normal for runtime shading. discussed in paragraph Adaptive slicing.

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

Slab partitioning: Our algorithm avoids slicing the regions prism that link its two base triangles (lines (0,3) (1,4) (2,5)
with no cells and avoids considering all the cells by parti- of Figure 6-left). A plane may intersect the vertical lines ei-
tioning the space with planes orthogonal to the viewing di- ther above, in-between or below the prism, which results in
rection axis before drawing the cells. We define slab as the 27 possible combinations. A direct implementation of those
region between two such successive planes. The cells that 27 cases would be very inefficient. In order to reduce the
intersect a slab are assigned to the slab. The slicing is then number of tests, we analyse the problem from the point of
performed one slab after the other, starting from the farthest. view of each vertical line.
The slabs with no cell are not sliced. For the other slabs,
only the cells assigned to the slab are sliced. Within a slab
we group the cells by texture, which reduces the number of
texture switches required to handle cells assigned with dif-
ferent volumes. To ensure an effective partitioning, the slab
thickness is chosen such as the slab contains at least a pre-
defined number of slices while not being smaller than the
average cells size.
Adaptive slicing: In order to avoid over or under-sampling
artifacts during the slice-based volume reconstruction, we
adjust the distance d between two slices to match the size
r of a voxel (measured in world space). For MIP-mapped
volume, r changes with the distance z of the voxel to the
camera. Therefore, we also extend the slicing algorithm to
account for this adaptive slicing rate. Figure 6: Prism/plane intersection. Left: Notations and possible
resulting polygons (0, 3, 4 or 5 edges). Right: The different configu-
The function used by rations.
the hardware to select the
The calculation is done in camera space. The algorithm
texture MIP-map level is
is illustrated by Figure 6-right, and the geometry-shader im-
rather complex and partly
plementation is outlined in Appendix A. The vertices of the
undocumented. However,
Figure 5: Slicing rate prism are numbered from 0 to 5 as shown on the Figure 6-
our slices are parallel to
left. Lets consider a vertical line passing through the vertices
the screen, which allows for the following approximation.
k and k + 3 (k = 0, 1 or 2). Since the slicing plane is normal
When minification is involved, the MIP-map level is chosen
to the z-axis in camera space, the plane/line intersection is
such that the size of a projected voxel on screen is roughly z −zk
tan( f ov/2) defined by the factor sk = slicezk+3 −zk , where zslice is the posi-
one pixel (see Figure 5). This implies r ≈ z h/2 where
tion of the slicing plane along the z-axis. First, we reject the
h is the height of the screen (in pixels) and fov is the camera trivial configurations where no intersection occurs (i.e., the
field-of-view angle in the height direction. Thus, our algo- sk are all negative or all greater than 1). Then we perform the
rithm adjusts d to be equal to r. following operation for each vertical line successively:
To avoid over-sampling if the volume is magnified (i.e., - If sk is within [0,1], one intersection point is lying between
the most detailled MIP-map level has been reached and the the vertices k and k + 3. This point is computed and stored.
size of a projected voxel on screen is more than one pixel), - If sk is less than 0, since the no-intersection case has al-
d is thresholded to be at least the magnified voxel size. This ready been considered, the plane intersects either the edge
also prevents the generation of an excessive number of slices of the prism on the left of the vertex k (the edge [k, kL ]) or
when the camera approaches or goes into a volume since the the one on the right of k (the edge [k, kR ]) or both of them.
number of slices cannot exceed the volume resolution in the This is determined by testing if the values skL and/or skR are
viewing direction. positive. The one or two corresponding intersection points
are then computed and stored.
3.3.2. Efficient prism/plane intersection - Similarly to the previous case, if sk is greater than 1, one
The performance of the slicing algorithm relies on the com- or two intersection points are determined by considering the
putation of the prism/plane intersection. Our aim is to effi- edges on the left and on the right of the vertex k + 3.
ciently compute such intersections. We design the algorithm The order of the tests on sk guarantees that an intersection
to take advantage of GPU geometry shader. point is not found twice and is found in the right order to
The result of the intersection of a prism with a plane form a valid polygon. Thus, we obtain up to 5 ordered inter-
may be empty (if the plane does not intersect the prism) or section points. In the case of a geometry shader implementa-
may be a polygon having 3, 4 or 5 edges depending on the tion, we use these points to create and emit up to 3 triangles
plane/prism configurations (Figure 6-left). We denote verti- which form the polygon resulting from the intersection of
cal lines as the three lines supporting the three edges of a the prism with the slicing plane.

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

Figure 7: Comparison. Column a: Reference images (polygonal models rendered by 3DSMax). b: Our method (2563 and 128 × 128 × 256
MIP-mapped volumes). c: Real-time rendering of the polygonal models (200000 and 22600 faces). d: Same as c with FSAA×8 enabled.

Compared to [LDS02], our algorithm can be expressed in especially at a distance, because of their very thin and ragged
a compact way. It also performs less if-tests: In the worst faces; these artifacts becomes even more noticable when the
case, where the intersection results in a pentagon, the num- objects move. The limit of our representation is reached for
ber of tests is at most 12. See 4-Performance for benchs. closer views, when the size of the object on the screen ex-
ceeds its volume resolution, causing blurriness. Although
4. Results this may be acceptable for a certain range, transitioning with
We applied our representation to several classes of ob- the polygonal model, or with a mixed model as the tree of
jects depicted in the figures and the accompanying Figure 13, could also be considered. The nice z-buffer com-
video available at [Link] pliance property of the representation would ease the fading
[Link] and commented below. transition between the different models.

Figure 8: A group of different trees. Note on the top-view that the


cells do intersect.

MIP-map and LOD: Figure 7-b shows the rendering qual-


ity provided by our method through the MIP-mapped vol-
umes for levels-of-detail management. This is illustrated on Figure 9: Left: Overlapping semi-transparent volumes. Right: A
two complex objects: a tree originally composed of 200 000 scene composed of 2500 volumetric billboards displayed at interac-
faces and voxelized at a resolution of 2563 ; and an Eif- tive framerates. Note how the objects are antialiased (w/o FSAA).
fel tower model originally composed of 22 600 faces and
voxelized at a resolution of 128 × 128 × 256. We provide Multiple and overlapping objects: Examples depicted in
some additional images for quality comparison: Figure 7-a Figures 8, 9 and 10 demonstrate how multiple and possi-
shows reference images produced from the polygonal mod- bly intersecting complex objects are handled. The trees are
els by an offline renderer; and Figures 7-c and 7-d show voxelized at 1283 resolution. The "dragons’n co" scene is
screen captures of the hardware rendering of the polygonal composed of 2500 volumetric billboards sharing 6 differ-
models without and with Full Scene Anti-Aliasing (FSAA). ent volumes with resolution ranging from 643 to 1283 . De-
Note that, in our results, the LOD transitions are smooth spite their number and their overlapping, there are no arti-
(see video) and the objects are nicely antialiased without en- facts resulting from incorrect transparency handling between
abling FSAA. In contrast, the direct hardware rendering of objects. Furthermore, the superimposition of a fully semi-
their polygonal models shows popping or aliasing artifacts, transparent volumetric billboard, like the haze cone of Fig-

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

ure 9-left, with other objects can generate interesting effects


such as volumetric shadowing. The "asteroid belt" scene
demonstrates the ability to handle many different volumes. It
is composed of 1200 volumetric billboards sharing 60 differ-
ent volumes of resolution 1283 generated procedurally (us-
ing Perlin noise). In this example, the dust clouds overlap
the asteroids. See paragraph Perfomance below for memory
usage and performance discussion.

Figure 12: Buildings block texture repeated inside a single volu-


metric billboard (top-left), and mapped on a sphere (192 cells).

models can be animated by deforming or moving the prisms


(see video). In a sense, this brings animation to volume data.
Note that in this animation example, we simply decomposed
the foliage into 12 box cells which we animate procedurally.
In the scope of a real production, more cells would have
been defined and linked to a deforming tree skeleton. See
also the wave motion in the grass obtained by bending the
cells edges.
Figure 10: "Asteroid belt" composed of 1200 volumetric bill-
boards from 60 different volumes of resolution 1283 : 40 for aster-
oids, 20 for dust clouds (some examples are shown on the left).

Volumetric textures: Volumetric billboards are also able


to represent volumetric textures by generating their bound-
ing prisms from the extrusion of a triangulated surface and
its mapped texture coordinates, as shown by Figures 11
and 12. The semi-transparent MIP-mapped volumetric tex-
ture effect is obtained with no modification to the algorithm.
In this context, our approach can be seen as an extension
of [LDS02]. The fur and buildings volume resolutions are
256 × 256 × 32.

Figure 13: Animated (see video) volumetric billboards mixed with


meshes.

Performance and memory usage: The following bench-


marks (Table 1) are related to the sequences shown on the
video and the figures. Framerates are measured on a Pen-
tium 4 - 3GHz with 1GB of RAM and equiped with a
GeForce 8800 GTS with 640MB of on-board memory. If
nothing else specified, they correspond to a framed view
(i.e., the entire scene fits the screen). They are measured
Figure 11: Fur volumetric texture (380 cells). with shadow-mapping disabled. Performance with shadow-
mapping enabled is displayed in the video.
Composite and animated scene: The example of Figure 13
illustrates the ability of our representation to manage com- For close views, the screen resolution has a noticable im-
posite objects, like a tree composed of polygonal trunk and pact on the performance (except for the "asteroid belt" exam-
branches with leaves composed of several volumetric bill- ple), which suggests that the bottleneck is mainly the fillrate.
boards sharing the same leaves pattern. Although the reso- At a distance, performance increases significantly thanks to
lution of single volumetric billboards is small (1283 in that the adaptive slicing combined with faster access to volume
case), compositing them results in a high-resolution model MIP-map levels. The “dragons’n co” scene performance is
valid even for close view with full parallax and no pop- minimally affected by the screen resolution. Rather, the per-
ping occurs despite the dense overlapping. Furthermore, the formance is bounded by the intersection calculations and the

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

FPS (# slices) Tex Optimizations: While the results of our method are indeed
640×480 800×600 1024×768 (MB) . interactive, there is still room for improvement. The method
Trees close-up 69 (230) 59 (270) 56 (320) 38 offers a simple way to balance between quality and perfor-
(Fig. 8) far distance 395 (28) 336 (33) 271 (38) mance. The adaptive slicing rate can be biased by a user de-
Dragons’n co grazing view 19 (2400) 14 (2800) 11 (3300) 26 fined factor to generate less slices, which leads to an under-
(Fig. 9) wide view 29 (540) 25 (640) 20 (745) sampling of the volume. The object becomes more transpar-
far distance 54 (170) 51 (200) 49 (235) ent as a side effect, however, this can be attenuated by scal-
Asteroid belt close-up 14 (978) 13 (1138) 10 (1336) 300 ing the opacity of the texture artificially (in the pixel shader)
(Fig. 10) wide view 9 (308) 8 (384) 6 (492) by an equivalent factor. In our examples, we used this tech-
Furry torus (Fig. 11) 130 (300) 76 (360) 51 (410) 3 nique to accelerate the rendering of the shadow maps.
City sphere (Fig. 12) 36 (400) 24 (480) 15 (550) 3 Additionally, volumes often have large empty regions
Anim tree+grass (Fig. 13) . 79 (350) 70 (415) 47 (485) 12 which are unnecessarily rasterized. More elaborate content-
Table 1: Framerates (frames per second) and average number of based optimization techniques may be considered for
slices (in green between brackets) for various screen resolutions. slicing-based volume rendering, and can even be used as
Last column: Amount of compressed texture memory (in MB). a substitute for the early-ray termination technique of ray-
casting [LMK03]. However, for volumes of relatively low
resolution, as considered in our examples, the cost related
texture switches required to render the different objects. For
to the complexification of the slicing algorithm masks the
the asteroid belt example, the cost related to texture memory
potential benefit. We found empty-region removal to be a
access and switches become significant, especially for low
more rewarding optimization technique (Figure 14). Instead
screen resolutions (at higher resolution, it is partly hidden
of taking them out at runtime, the empty-spaces can be re-
by the fillrate cost).
moved in a pre-processing stage by subdividing the vol-
Texture memory usage for each example is also reported ume and creating volumetric billboards only for the non-
in Table 1. The textures are compressed using the stan- empty subvolumes. There are different strategies to do so;
dard S3TC compression. Basically, a 2563 volume (col- we have implemented a simple one based on a kd-tree, de-
ors+normals) and its MIP-map levels are stored in 38 MB, tailed in [VMD08]. Since the overhead due to the increase of
and a 1283 volume in 5 MB. cells is very limited and the performance is predominantly
bounded by the fillrate, the gain is significant: up to 50%
.[Link]. .[Link]. .GS.+.adaptive. .GS.+.[Link].
for the model (a) of Figure 14 and 200% for the model (b).
slicing .+.partitioning.
Moreover the remaining non-empty regions may be packed
Furry torus. 31 68 106 130
to reduce the amount of required texture memory: the gain
Asteroid belt. 0.6 1.3 8 14
is up to 50% for the model (a) and 75% for the model (b).
Table 2: Comparison. First column: Vertex Shader based al-
gorithm of [LDS02]. Next columns: Our Geometry Shader
based algorithm successively enhanced by adaptive slicing and
partitioning. Measured in frames per second at 640×480.
Figure 14: Volume empty-space removal.
Table 2 compares our algorithm with a GPU implementa- 5. Conclusion
tion of [LDS02] using vertex shaders (VS) on today’s hard-
The volumetric billboards method provides a solution for
ware. At the time of publication (2002) their hybrid algo-
the representation and accelerated rendering of complex ob-
rithm which mixes intersection compution on GPU and CPU
jects at a distance while not sacrificing the parallax effects.
was reported faster than a pure GPU implementation, but it
In particular, it properly handles transparency, filtering ac-
is no more the case, so we limit the comparison to GPU-
cording to distance and overlapping volumes. Moreover, the
based implementation. Regarding regular cell slicing only
real-time rendering algorithm can be integrated seamlessly
(i.e., no adaptive slicing and no partitioning), despite the fact
into common rasterization-based renderers.
that geometry shader (GS) and dynamic branching are not
yet mature fully-efficient features, our GS-based implemen- The performance of our prism/plane intersection algo-
tation outperforms the VS-based implementation by a factor rithm will increase with the evolutions of geometry shaders
of about 2. In addition, it requires 6 times less data to be and dynamic branching in future graphics hardwares. The
sent to the GPU for geometry since the description of the limiting factor will continue to be the extensive usage
cells are not duplicated at each vertex (which the VS-based of fillrate and 3D texture access. Empty-space removal
algorithm requires). Regarding use in large scenes, adaptive adds a significant improvement in performance. In order
slicing and partitioning prove to be the key component for to reduce remaining pixel overdraw, we plan to investigate
efficiency (order of magnitude faster) and quality filtering front-to-back slicing schemes. Another area for future im-
with the distance. provement is the use of a more accurate model for color,

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.
Ph. Decaudin & F. Neyret / Volumetric Billboards

opacity and reflectance, which takes view-dependency into [GGSC96] G ORTLER S. J., G RZESZCZUK R., S ZELISKI R., C O -
account. Regarding the reflectance, correct normal filter- HEN M. F.: The lumigraph. In Computer graphics and interac-
tive techniques, Siggraph’96 (1996), pp. 43–54.
ing (e.g., [HSRG07]) with a limited impact on the perfor-
mance would also be of interest. [Gri05] G RIMM S.: Real-Time Mono- and Multi-Volume Render-
ing of Large Medical Datasets on Standard PC Hardware. PhD
Acknowledgements thesis, Vienna University of Technology, 2005.
The authors would like to thank Midori Hyndman, Marie-Paule [HKRS∗ 06] H ADWIGER M., K NISS J. M., R EZK -S ALAMA C.,
Cani, Xing Mei and Eric Bruneton for proofreading, and all mem- W EISKOPF D., E NGEL K.: Real-Time Volume Graphics. A. K.
bers of the Evasion and Liama teams for their kind support. Philippe Peters, 2006. ISBN: 978-1568812663.
Decaudin is supported by a grant from the Marie-Curie project [HSHH07] H ORN D. R., S UGERMAN J., H OUSTON M., H AN -
RAHAN P.: Interactive k-d tree GPU raytracing. In Symposium
REVPE MOIF-CT-2006-22230 from the European Community. on Interactive 3D Graphics & Games (2007), pp. 167–174.
Appendix A: [HSRG07] H AN C., S UN B., R AMAMOORTHI R., G RINSPUN
Pseudocode for prism/plane intersection geometry shader E.: Frequency domain normal map filtering. Trans. on Graphics,
Siggraph’07 (2007), 28.
ProjPosTex p[5]; // up to 5 resulting projected vert. and their tex. coord. [JWP05] J ESCHKE S., W IMMER M., P URGATHOFER W.:
int i = 0; float s0 , s1 , s2 ; Image-base representations for accelerated rendering of complex
s0 =(zslice -z0 )/(z3 -z0 ); s1 =(zslice -z1 )/(z4 -z1 ); s2 =(zslice -z2 )/(z5 -z2 ); scenes. In State of the art reports Eurographics (2005), pp. 1–20.
// the slicing plane normal has been slightly jittered to avoid unwanted division by 0 [KK89] K AJIYA J. T., K AY T. L.: Rendering fur with three di-
if s0 , s1 , s2 < 0 or s0 , s1 , s2 > 1 then return; mensional textures. In Computer Graphics and Interactive Tech-
niques, Siggraph’89 (1989), pp. 271–280.
for k = 0 to 2 do // loop to be unrolled by the compiler
kR = (k + 1) mod 3; kL = (k + 2) mod 3; [KN01] K IM T.-Y., N EUMANN U.: Opacity shadow maps. In
Rendering Techniques’01 (2001), pp. 177–182.
if sk ∈ [0, 1] then
p[i++] = Intersect (k, k + 3) [KW03] K RÜGER J., W ESTERMANN R.: Acceleration tech-
// Intersect(a, b) computes the intersection of the edge [a, b]
niques for GPU-based volume rendering. In Visualization’03
(2003), pp. 38–44.
// and the slice, and the corresponding 3D texture coordinates.
else if sk < 0 then [LDS02] L ENSCH H., DAUBERT K., S EIDEL H.-P.: Interactive
if (skL ≥ 0) then p[i++] = Intersect (k, kL ) semi-transparent volumetric textures. In Vision, Modeling and
Visualization’02 (2002), pp. 505–512.
if (skR ≥ 0) then p[i++] = Intersect (k, kR )
else // sk > 1 [LH96] L EVOY M., H ANRAHAN P.: Light field rendering. In
if (skL ≤ 1) then p[i++] = Intersect (k + 3, kL + 3) Computer graphics, Siggraph’96 (1996), pp. 31–42.
if (skR ≤ 1) then p[i++] = Intersect (k + 3, kR + 3) [LL94] L ACROUTE P., L EVOY M.: Fast volume rendering using
end a shear-warp factorization of the viewing transformation. Comp.
end graphics and interactive tech., Siggraph’94 (1994), 451–458.
EmitTriangle(p[0], p[1], p[2]) [LMK03] L I W., M UELLER K., K AUFMAN A.: Empty space
if i ≥ 4 then skipping and occlusion clipping for texture-based volume ren-
EmitTriangle(p[0], p[2], p[3]) dering. In Visualization’03 (2003), pp. 317–324.
if i = 5 then EmitTriangle(p[0], p[3], p[4]) [MS95] M ACIEL P. W. C., S HIRLEY P.: Visual navigation of
end large environments using textured clusters. In Symposium on In-
teractive 3D Graphics (1995), pp. 95–102.
References [Nom95] N OMA T.: Bridging between surface rendering and
volume rendering for multi-resolution display. In Eurographics
[ABB∗ 07] A NDUJAR C., B OO J., B RUNET P., FAIREN M., Workshop on Rendering (1995), pp. 31–40.
NAVAZO I., VAZQUEZ P., V INACUA A.: Omni-directional re-
[OBM00] O LIVEIRA M. M., B ISHOP G., M C A LLISTER D.: Re-
lief impostors. Computer Graphics Forum, Eurographics’07 26,
lief texture mapping. In Computer Graphics and Interactive
3 (2007), 553–560.
Techniques, Siggraph’00 (2000), pp. 359–368.
[CCF94] C ABRAL B., C AM N., F ORAN J.: Accelerated volume
rendering and tomographic reconstruction using texture mapping [PO06] P OLICARPO F., O LIVEIRA M. M.: Relief mapping of
hardware. Symposium on Volume Visualization (1994), 91–98. non-height-field surface details. In Symposium on Interactive 3D
Graphics and Games’06 (2006), pp. 55–62.
[CMSW04] C OOK R., M AX N., S ILVA C. T., W ILLIAMS P. L.:
Image-space visibility ordering for cell projection volume render- [Sch98] S CHAUFLER G.: Image-based object representation by
ing of unstructured data. Trans. on Visualization and Computer layered impostors. In Symposium on Virtual Reality Software
Graphics 10, 6 (2004), 695–707. and Technology’98 (1998), pp. 99–104.
[CS99] C AI W., S AKAS G.: Data intermixing and multi-volume [TK96] T ORBORG J., K AJIYA J. T.: Talisman: commodity real-
rendering. Computer Graphics Forum 18, 3 (1999), 359–368. time 3D graphics for the PC. In Computer graphics and interac-
tive techniques, Siggraph’96 (1996), pp. 353–363.
[DDSD03] D ÉCORET X., D URAND F., S ILLION F., D ORSEY J.:
Billboard clouds for extreme model simplification. Trans. on [Tok05] T OKSVIG M.: Mipmapping normal maps. Journal of
Graphics, Siggraph’03 22, 3 (2003), 689–696. Graphics Tools 10, 3 (2005), 65–71.
[DN04] D ECAUDIN P., N EYRET F.: Rendering forest scenes in [VMD08] V IDAL V., M EI X., D ECAUDIN P.: Simple empty-
real-time. Rendering Techniques’04 (2004), 93–102. space removal for interactive volume rendering. Journal of
Graphics Tools 13, 2 (2008), 21–36.
[EE02] E NGEL K., E RTL T.: Interactive high-quality volume ren-
dering with flexible consumer graphics hardware. In State of the [ZIK98] Z HUKOV S., I NOES A., K RONIN G.: An ambient light
art reports, Eurographics’02 (2002). illumination model. EG Workshop on Rendering (1998), 45–56.

c 2009 The Author(s)


Journal compilation c 2009 The Eurographics Association and Blackwell Publishing Ltd.

Common questions

Powered by AI

Traditional billboard techniques struggle with rendering semi-transparent objects because they involve intersecting textured quads, which require costly sorting to handle semi-transparency correctly. Volumetric billboards address this issue by using a volumetric image representation, allowing these regions to be composited without sorting. This is achieved by rendering all volumetric billboards at once, ensuring that transparency is handled correctly and efficiently .

MIP-maps in the context of volumetric billboards allow filtering of visual details based on viewing distance, which helps to maintain anti-aliasing and visual quality in distant scenes. This is particularly important for real-time applications where maintaining consistent detail levels and performance is crucial, thus avoiding the visual artifacts typical in traditional billboard techniques .

Volumetric billboards support the real-time rendering of natural elements like plants and trees by efficiently representing geometrically complex objects made of many small, thin, and possibly disconnected elements. These elements become indistinguishable at a distance and are prone to aliasing when using traditional methods. Volumetric billboards manage this complexity by providing better anti-aliasing and parallax effects while allowing for semi-transparency and effective integration into broader scenes .

The main challenge of implementing real-time GPU raycasting for volumetric billboards is handling multiple intersecting semi-transparent volumes, which requires the collective processing of these volumes during ray integration. This is addressed by organizing volumes into a spatial data structure suitable for GPU processing and using dedicated compositing steps. Additionally, using a slice-based rendering scheme simplifies the integration of polygonal objects, optimizing computational efficiency and maintaining real-time performance .

The GPU geometry shader contributes to the efficiency of volumetric billboards by enabling a dedicated real-time volume rendering algorithm that processes volumetric billboards concurrently. This approach efficiently handles transparency and realizes the required computational load on the GPU, allowing for high-frequency rendering of complex scenes involving multiple, potentially intersecting objects .

Volumetric billboards facilitate the integration of mixed object types in a 3D scene by allowing volumetric images to be mapped onto arbitrarily placed cells, thus working seamlessly with polygonal models. This integration avoids the sorting and rendering issues typically associated with polygonal transparency handling. It also maintains correct visual integration by leveraging advanced GPU compositing techniques, ensuring high visual fidelity and real-time performance .

Volumetric billboards differ from light fields mainly in their ability to integrate with other 3D primitives while maintaining real-time rendering capabilities. Light fields effectively compress the visual aspects of objects but struggle with integrating mixed-object representations and real-time performance constraints. In contrast, volumetric billboards efficiently handle semi-transparency and object overlap in dynamic scenes, making them more versatile for real-time applications involving complex object combinations .

Volumetric billboards allow for comprehensive mixing of different 3D volumetric textures by employing slice-based rendering algorithms that map volumetric textures onto cells, integrating multiple and possibly overlapping textures without requiring sorting. The technique uses MIP-mapped volumes and an enhanced rendering scheme to ensure accurate blending of visual contributions at their intersection, maintaining visual quality and performance in dynamic scenes .

The volumetric billboard method enhances anti-aliasing by using volumetric images that can be progressively filtered and stored as MIP-maps, effectively maintaining visual quality at varying distances. It handles transparency by compositing semi-transparent regions correctly without the need for sorting primitives, which is crucial for overlapping objects and enhances real-time rendering performance and fidelity .

Volumetric billboards offer several advantages over traditional polygonal models, including the ability to represent geometrically complex objects independently of their complexity, handle transparency effectively without primitive sorting, and integrate seamlessly with polygonal models using common rasterization-based renderers. They also improve rendering speed and visual quality, providing full parallax effects and better anti-aliasing, particularly for semi-transparent and intersecting objects in 3D scenes .

You might also like