chen.pdf

ENRICHING VOLUME MODELLING
WITH SCALAR FIELDS
Min Chen, Andrew S. Winter, David Rodgman and Steve Treavett
Department of Computer Science, University of Wales Swansea,
Singleton Park, Swansea SA2 8PP, United Kingdom
{
}
m.chen, csandrew, csdave, cssteve
Abstract
@swan.ac.uk
A scalar eld is a generalisation of a surface function in dimension.
Visualisation traditionally focuses on discrete specications of scalar
elds (e.g., volume datasets). This paper discusses the role of continuous and procedural eld specications in volume visualisation and volume graphics, and the inter-operations between continuous and discrete
specications. It demonstrates the dierent use of scalar elds through
several modelling aspects, including constructive volume geometry and
non-photorealistic textures, and presents our approaches to the creation
of more photorealistic eects in direct volume rendering.
Keywords: Volume visualisation, volume modelling, volume graphics, scalar elds,
constructive volume geometry.
1.
Introduction
A large collection of visualisation problems are of a 3D volumetric
nature. The data types concerned in such applications are typically in
the form of discrete specications obtained from either digitisation (e.g.,
medical imaging) or computation (e.g., nite element methods). Over
the past decade, a range of rendering methods have been developed to
visualise these data types. With the ever-increasing processing power
and storage space, advanced volume rendering techniques are becoming
comparable with traditional surface rendering techniques in both sophistication and availability. This inevitably leads to the desire to extend
the use of volume models from visualisation to general purpose graphics
[5, 10].
However, discrete volume data types have several shortcomings. (i)
They lack in inter-operability, especially between dierent volume data
types. (ii) The use of transfer functions is very much limited to assisting
in visualisation, and their potential in volume modelling is yet to be
1
2
explored. (iii) Most rendering algorithms and acceleration techniques
were designed for specic volume data types, and it is rare for a volume
renderer to support more than one data type.
Volume modelling is a process for constructing 3D models using volume data types. Nielson [14] recently gave an overview of research issues
in this area. In particular he outlined the three main aspects of volume
modelling as follows:
It facilitates the representation of volume objects using a range of
volume data types, including regular as well as irregular volumetric datasets, discrete as well as continuous specications of scalar
elds, and elementary as well as high-level modelling schemes.
It is considered as a generalisation in dimension to surface modelling. With scalar elds as its underlying concept, it provides
a consistent means for specifying intrinsically the geometry and
physical properties of a spatial entity in a true three-dimensional
manner. In particular, volume modelling represents conceptually
an important extension to surface-based modelling by allowing the
specication of the internal structures of objects and amorphous
phenomena.
It provides appropriate input to the volume rendering integral,
which is to be discussed later.
One important feature of Nielson's outline is that what is considered to
be a volume model is not restricted by a specic type of volume renderer.
Not only has this concept broadened the scope of volume modelling, but
also has instigated the need for more powerful volume renderers that are
capable of handling a mixture of volume data types.
This paper presents a follow-up discussion on the subject of volume
modelling, and in particular focuses on the role of scalar elds. In Section 2, we will briey examine the use of volume data types in various computer graphics applications, including a number of schemes that
made a noticeable impact in the eld. In Section 3, we will discuss, in
abstract, dierent methods for specifying volume data types, and will
highlight the elementariness of scalar elds in relation to other volume
data types and volume modelling operations. We will also show that
the concept of scalar elds underpins the theory and implementation of
constructive volume geometry. In Section 4, we will consider the main
technical aspects of rendering scalar elds directly. We will present a
generic sampling process that facilitates consistent discrete sampling at
dierent resolutions. We will also show that most rendering eects can
Enriching Volume Modelling with Scalar Fields
3
be implemented for volume data types. This will be followed by our
observations and concluding remarks in Section 5.
2.
Related Work
Volume data types are representations that describe objects in a true
three-dimensional manner. The underlying mathematical notion of such
a data type is a set3 of scalar elds that denes data for every point p in
Euclidean space E .
Early volume data types include binary spatial representations such
as spatial occupancy enumeration, volume sweeping and constructive
solid geometry (CSG) [17, 9]. Real domain volume data types have also
been deployed eectively in schemes such as implicit surfaces [1], solid
and hyper-textures [15, 16] and free-form deformation [19].
Perhaps one of the most inuential developments is the technology for
visualising volume datasets obtained from a variety of applications including medical imaging and numerical computation. Various rendering
techniques [13, 12, 23] developed for volume visualisation have largely
focused on displaying objects dened in volumetric datasets. Most of
these techniques assume a specic type of geometry, topology or interpolation function. However, only limited progress has been made in volume
modelling methods, in contrast to an extensive range of surface-based
modelling methods and tools. In most volume visualisation systems,
volume objects are largely represented as individual volume buers in
a form identical or close to the output of a digitisation or simulation
process.
It was the IEEE 1993 Visualization Workshop [11] that highlighted
a broad range of modelling issues from the perspective of database systems and that of visualisation. In particular, Bergeron et al [3] presented
an abstract discussion on the taxonomy of data models and described
a general logic structure that consists of a list of eld or parameters of
one or more dependent values. Udupa and Odhner, also in 1993, developed an elegant scheme, called shell, for modelling surfaces using volume
datasets [21]. A shell is essentially a collection of voxels in the vicinity of
a surface. In this scheme, the concept of elds was employed to specify
a set of attributes of a shell, and an opacity eld function plays a key
role in dening the geometrical properties of a shell as well as facilitating
the visualisation of semi-transparent surfaces. These concepts provide
a basis for our attempt to dene and implement a generalised volume
modelling scheme.
4
3.
3.1
Volume Modelling with Scalar Fields
Notation and Denition
Let R denote the set of all real numbers,3 and E 3 denote 3D Euclidean
space. A scalar eld is a function F : E ! R. Conceptually a scalar
eld F (p) is a generalisation of a surface function that models only those
points on the surface. A volumetric representation of an object can hence
be specied as a set of scalar elds, F1 (p); F2 (p); : : : ; Fk (p), that dene
the geometrical and physical properties of the object at every point p in
three-dimensional space. Such an object is called a spatial object
, which
3
is a tuple, o = (A0 ; A1 ; : : : ; Ak ), of attribute elds dened in E . In this
paper, we consider only a small collection of attribute elds, including
opacity, colour, reection and refraction attributes, texture type, and
geometry, though almost all attributes of a spatial object can be dened
in this manner.
In general, surface modelling (including solid modelling) denes an
object by dividing E 3 into two half-spaces with a surface. The most
important attribute of a surface object is the Boolean specication that
determines if an arbitrary point is inside the object half-space. Many
surface data types deal with only closed surfaces, and most assume that
an object has a homogeneous or an undened interior.
On the contrary, most volume data types facilitate the specication of
heterogeneous interiors, and usually do not give an explicit specication
of the object boundary. The most important attribute
of a volume
object is thus
the
\visibility"
of
every
point
in
E 3 . We use an opacity
eld O : E 3 ! [0; 1] to specify this attribute. A point p 2 E 3 is said
to be opaque if O(p) = 1, transparent if O(p) = 0, and translucent
or semi-transparent otherwise. Any point which is not transparent is
potentially visible to a volume renderer. As the opacity eld is the most
fundamental attribute of a volume object, we normally write a spatial
object as o = (O; A1 ; : : : ; Ak ).
Dierent applications may dene spatial objects with dierent attributes, and dierent volume renderers may also put constraints on the
way in which an attribute is specied. The consistency can be maintained though the notion of classes and the concept of algebraic signatures [4]. In the following sections, some other scalar elds will be
discussed in the relevant context.
In computer graphics and visualisation, scalar elds are typically dened by using mathematical, discrete and procedural specications.
Enriching Volume Modelling with Scalar Fields
3.2
5
Mathematical Specication
A scalar eld can be dened by a mathematical scalar function F :
! R. For example, consider a spatial object o = (O; R; G; B; Geo )
builtpentirely upon mathematical scalar eldsp(Figure 1(a)). Let F1 (p) =
1 2 (x + a)2 + y2 + z2 , and F2 (p) = 1 2 (x a)2 + y2 + z2 , where3
a is a constant and (x; y; z ) are the 3D coordinates of each point p in E .
An implicit eld can be constructed by blending these two functions as
F (p) = C (1 F1 (p)) + C (1 F2 (p)), where
(1 6
( 4r + 17r4 22r2 + 9) if r < 1
C (r ) = 9
0
otherwise
Based on F (p), we dene ve scalar elds, namely opacity O(p), red
R(p), green G(p), blue B (p) and geometry Geo (p) as:
(
2F (p)) if F (p) = 0:2; 0:35 or 0:5
O(p) =
0
otherwise
(
1 2jx + aj if jx + aj 0:5
R(p) =
0
if jx + aj > 0:5
(
1 2jx aj if jx aj 0:5
G(p) =
0
if jx aj > 0:5
B (p) = b30jyjc mod 2
E3
From Figure 1(a), it is easy to see that O(p) eectively extracts three
iso-volumes from F (p). Three separate elds, R(p); G(p) and B (p), dene the colour of the spatial object. Geo is a supplementary geometry
eld that facilitates the calculation of surface normals during the rendering. For the top object, Geo(p) = F (p). For the bottom object,
( p 2 2 2
1 2 4x 3y + 4z if 4x2 3y2 + 4z2 0
Geo (p) =
1
otherwise
which bears no relation to F (p) or O(p). Normally Geo(p) would correlate closely with O(p) as with the top object. However, in the case
of the bottom object, we have purposely introduced some inconsistency
to emphasize their autonomy within the general logic structure. Later
we will give examples that demonstrate the usefulness of such a feature
in bump mapping (Section 3.5) and refraction rendering (Section 4.3).
Conceptually, the geometry eld can be replaced with a vector eld for
6
modelling normals (e.g., as in [3]). In Section 3.5 we will also discuss
transfer functions that introduce inter-dependence between elds within
an object tuple.
(a)
(b)
(c)
(d)
(a) Two spatial objects with mathematically-dened attribute elds. The
opacity and geometry elds of the top object correlate with each other, but these of
the bottom object are unrelated. (b) A spatial object whose red and blue elds are
built upon a CT dataset. (c) Smoke constructed using Perlin noise. (d) A spatial
object whose colour elds are dened using a solid texture.
Figure 1.
In fact, to synthesize the image in Figure 1(a), many other attributes,
such as reection coeÆcients, must be assigned to that spatial object.
In many applications, it is often adequate to specify such attributes as
constants uniformly across an entire object. Since a constant is merely
a special case of mathematical function, all attributes associated to a
spatial object can hence be considered as scalar elds. It is not diÆcult to
Enriching Volume Modelling with Scalar Fields
7
imagine an application that would require more complex mathematical
specications for such attributes.
3.3
Discrete Specication
3.4
Procedural Specication
Discrete specications of scalar elds are commonly obtained from
the processes of digitisation, simulation and voxelisation. For example,
computed tomography (CT) scanning is a digitisation process that takes
a collection of samples at discrete positions within the spatial domain
which contains an object. A scalar eld of a measured property (e.g., Xray attenuation) is represented by those measured values at the sampling
points.
A discrete specication of a scalar eld is commonly referred to as a
volumetric dataset, and it consists of up to three essential components:
a set of samples V, their topological relationships T and an interpolation function I. The set V = f(pi ; vi)ji = 1; 23; : : : ; ng denes the
known value vi at each sampling location pi in E . Some volumetric
datasets (e.g., regular 3D grids) can be represented simply by a 3D array of values with implicit geometry and topology, whilst others (e.g.,
curvilinear grids, tetrahedral meshes) may require an explicit specication of sample positions, fpiji = 1; 2; : : : ; ng or topological connectivities
between the samples, T. The role of the interpolation
function I is to
dene the scalar values at all the points in E 3 other than those sample
positions fpi ji = 1; 2; : : : ; ng. Typical interpolation functions include
trilinear interpolation for regular grids, and bary-centric interpolation
for tetrahedral meshes.
There is no fundamental
dierence between an arbitrary mathemati3
cal scalar eld, F : E ! R, and a scalar eld dened
by an interpolation
function I(p; V; T ) dened for all points p 2 E 3 . Hence we can use discrete specications of scalar elds for volume modelling in the exact same
way as mathematical scalar elds. Figure 1(b) shows a mathematicallydened torus whose colour elds are dened using an unrelated discrete
specication (i.e., a CT dataset).
A procedural scalar eld is essentially a function v = f(x, y, z) implemented in the form of a software component. As such specications can
utilise fully the power and exibility of a programming language, they
are often used in volume modelling to dene complex scalar elds, such
as textures and fractals. Once these functions are implemented, they can
be treated in the same way as mathematical and discrete specications.
As examples, Figure 1(c) shows a spatial object whose opacity eld is
8
dened using a procedure based on Perlin noise [16], whilst Figure 1(d)
shows a spatial object whose colour elds are dened using solid texture
procedures.
3.5
The Role of Transfer Functions
Transfer functions are an intrinsic part of volume visualisation, and in
particular, direct volume rendering. They can be dened using mathematical, discrete and procedural specications. Look-up tables are typical examples of discrete specications. It is also common to apply transfer functions during rendering, and this extends their role beyond the
modelling of attributes.
A transfer function, in the form : R ! R, is usually used to alter the
behaviour of a scalar eld, or construct a new scalar eld based on an
existing one. Given an arbitrary scalar eld F (p), (F (p)) is also a scalar
eld. In volume visualisation, it is common to dene attributes of an
object upon the dataset to be visualised. Figure 2(a) shows a typical use
of transfer functions in medical visualisation where appropriate opacity
and colour elds are constructed from the original CT dataset which is
also used as a geometry eld for normal calculation. A transfer function
may also be used to introduce distortion in a eld independently. Figure
2(b) shows a bump mapping eect resulting from a transfer function that
adds noise into the geometry eld.
A transfer function, in the form : E 3 ! E 3 , can be used to modify
the geometry of a scalar eld. Consider
the following transfer function
dened in the cubic region of [0; 1]3 :
2x03
21 0 (x)3 2x3
4y0 5 = (p) = 40 1 0 5 4y 5
z0
0 0 1 z
where (x) = 0:5 if x 0:5 and (x) = 0:5 otherwise. By applying
(p) to an arbitrary scalar function F (p) as F ((p)), it3 achieves the
eect of opening up the front of F (p) in the region [0; 1] . Figure 2(c)
shows the result of applying this transfer function to all the attribute
elds of a spatial object built upon a CT dataset.
More complex transfer functions can be dened for specic modelling
or rendering eects. Figure 2(d) shows a spatial object with a nonphotorealistic texture for the skin surface. A procedural transfer function
(o, r, g, b) = npr texture(p; O (p); R(p); G(p); B (p); L(p)) is used to modify
the opacity and colour elds of the object, also taking into consideration
the illumination L(p) at each point p.
Enriching Volume Modelling with Scalar Fields
(a)
9
(b)
(c)
(d)
Using transfer functions in (a) visualisation, (b) bump mapping, (c)
deformation, (d) non-photorealistic texture mapping.
Figure 2.
3.6
Constructive Representations
Constructive solid geometry (CSG) [17] is one of the most important
modelling methods in computer graphics and computer aided design
(CAD). It allows complicated solid objects to be built as various ordered
\union", \intersection" and \dierence" of simpler objects, which may
be bounded primitives or half-spaces. It is supported by the Boolean
algebra and a set of well-understood regularised set operations.
Although CSG is often implemented using surface data types in CAD,
the geometry of each solid object can also be considered as a binary scalar
eld. A process of constructing composite objects is represented by an
algebraic term that denes a sequence of combinational operations on
binary scalar elds.
10
Constructive volume geometry (CVG) [6, 7] is a major generalisation
of CSG. Unlike CSG, CVG does not limit itself to geometrical operations
only. It utilises the notion of spatial objects as dened in Section 3.1
and can also be employed to manipulate all attribute elds associated
with objects. Its combinational operations, mostly dened in the real
domain, can be used to model not only solid objects, but also complex
internal structures of objects and amorphous phenomena in a constructive manner.
In several previous attempts to dene constructive representations for
volumetric datasets [22, 8, 2], the discrete and bounded nature of the
data has been the main obstacle to a consistent specication of combinational operations and the boundary of composite objects. CVG operations are dened upon more inter-operable spatial objects, and each
CVG operation is decomposed into a set of operations on unbounded
scalar elds. Dierent specications of scalar elds, including discrete
specications based on volumetric datasets, are treated in the same manner. It operates on the interior as well as the exterior of objects. Physical
properties such as colours are dened and manipulated in the same way
as geometry. Images and videos can be naturally integrated into a scene
as spatial objects with discrete specications of scalar elds. Transfer
functions, as well as geometrical transformations, can be applied to the
scalar elds of any spatial object resulting from a CVG term, and can
be deployed at any stage of a construction process. Figure 3 shows a
scene composed of several spatial objects of dierent specications.
Dierent applications may dene spatial objects with dierent attribute elds. CVG utilises the algebraic concept of a signature to describe the algebraic structure of a particular graphics class in a consistent manner. It is not intended for CVG to have a xed set of classes
or operators, though several common classes, together with a number of
operators (e.g. union, intersection, dierence, blending, cap, trim, etc.),
have been proposed [7].
4.
4.1
Direct Rendering of Scalar Fields
Two General Approaches
Rendering a spatial object is essentially a matter of rendering a set
of scalar elds. Some may consider the rendering of an arbitrary scalar
eld to be practically undesirable. In fact, this is fundamentally not
much dierent from rendering an arbitrary surface in surface graphics. Some surface-based rendering techniques, including most projection
methods, deal with discrete specications only (e.g., triangular meshes).
A surface dened by a mathematical or procedural specication is nor-
Enriching Volume Modelling with Scalar Fields
11
A scene composed of a variety of spatial objects, including two volume
datasets (head and mask), video (re), image (wooden board), and some other objects
used for clipping.
Figure 3.
mally approximated by a discrete specication in the object space prior
to rendering. Others, including various ray-casting methods, attempt to
compute, for each pixel in the image space, the relationships between
the pixel and the objects in their original specications.
In a similar analogue, a spatial object, o, with an arbitrary scalar eld
(O; A1 ; : : : ; Ak ) can be rendered directly or indirectly. One approach to
the indirect rendering of a spatial object is to approximate the object using voxelisation, taking samples at a point set fpiji = 1; 2; : : : ; ng which
is typically organised as a regular 3D grid. This results in a discrete specication of scalar elds, f(pi ; O(pi); A1 (pi); : : : ; Ak (pi ))ji = 1; 2; : : : ; ng,
which can then be rendered by a conventional volume renderer that
handles only volume datasets.
Alternatively, one may render a spatial object directly by estimating
what colour can be \seen" by each pixel in the image space. Assume
that each scalar eld of a spatial object is dened by3 an explicit function (i.e., is computable for every given point p 2 E ), but may have
12
an arbitrary structure. We can employ the ray-marching approach by
casting a ray from each pixel into the object space. We take samples
at discrete locations, s1; s2; : : : , along the ray, performing appropriate
rendering operations, such as normal calculation, shading, opacity and
colour accumulation, and so on. The sampling process can in fact be
considered as a voxelisation process during the rendering.
There are of course issues on practical implementation and eÆciency
as well as other rendering mechanisms such as direct surface rendering.
Some of these issues have been addressed in [20, 7]. In following discussions, we shall focus on the correctness of the sampling process and the
technical feasibility for producing some rendering eects commonly seen
in surface graphics. All technical features discussed below have been
implemented in a general purpose volume graphics API, called vlib [24].
4.2
Correct Sampling
The sampling in both direct and indirect rendering is an approximation, and its quality depends on the number and distributions of the
samples. For instance, in ray casting, the denser the samples along each
ray, the better the approximation to the original scalar elds. Similarly,
a higher resolution 3D grid would normally result in a better approximation within the voxelised volume.
Consider again the denition of the opacity eld of a spatial object
in Section 3. The values of O(p) actually assume a certain sampling
density. In other words, unless the opacity eld is sampled at the same
density, the accumulation of opacity during direct or indirect rendering
will not produce correct results due to either over-sampling or undersampling. However, it is not sensible for a modelling method to impose
a xed sampling density in rendering. Imposing a ne density will no
doubt result in a slow rendering process, whilst a coarse density may
easily lead to an undesirable level of aliasing in the object space. It
is necessary to give a renderer the exibility to choose an appropriate
sampling density according to the requirements of applications, users
and circumstances.
Let us consider only the ray casting mechanism. Our solution to
this problem is to dene, for each volumetric scene, a global sampling
distance > 0, based on which the opacity elds of all spatial objects
are dened (with the aid of appropriate transfer functions if necessary).
A renderer may choose an arbitrary sampling distance Æ > 0, and correct
the over- or under-sampled opacity O(si) at each sampling point by:
O0 (si ) = 1
(1
O(si ))Æ=
Enriching Volume Modelling with Scalar Fields
13
This is derived from the \over" operator commonly used for opacity
accumulation in volume ray casting. Let k (k = 0; 1; 2; :::) be the accumulated opacity at each sample sk following the ray direction. With
the \over" operator, we have 0 = 0 (the initial condition), and k =
k 1 + O(sk )(1 k 1 ).
Consider a constant opacity eld O(p) = o; 8p 2 E 3 , and samples
s1 ; s2 ; : : : ; sn taken with the standard sampling distance . We have:
X
n = o
(1 o)i 1 = 1 (1 o)n
1in
If the ray samples with a corrected eld value o0 0at every interval
Æ
instead of 0 ,m it would accumulate at each sample sm an opacity 0m =
1 (1 o ) . Let0 us choose appropriate n0 and
m such that n = mÆ,
we0 should have Æ=m= n , that is, 1 (1 o )m = 1 (1 o)n . This gives
o = 1 (1 o) . As an approximated generation, this solution can
also be applied to arbitrary opacity elds. A more intuitive illustration
can be found in [7].
4.3
Reection, Refraction and Shadows
Similar to surface-based ray tracing, we can ray trace a scene composed of spatial objects, producing rendering eects such as reection,
refraction and shadows. However, unlike surface objects, volume ray
tracing does not assume the existence of a solid surface boundary nor a
uniform interior.
To model reection, the specication of spatial objects can easily include a reectance 3eld, Rf l (p), indicating the proportion of reection
at each point p in E . Computing reections in volume ray-tracing is an
expensive process. A practical implementation of a volume ray tracer
should be equipped with appropriate tree-depth control mechanism, as
in surface-based ray tracing. The tree-depth control in our volume ray
tracer takes into account conventional termination conditions as well
as properties that are associated only with volume data types. For instance, we consider maximum recursion depth, the colour contribution
from a secondary ray, the accumulated opacity, amorphous matter, rays
passing out of the scene, and so on. Figure 4 shows a typical scene containing several reective spatial objects, on which inter-object reection
can clearly be seen.
To model refraction, we introduce a refraction eld Rf r (p), indicating
the proportion of refraction. Such a eld is usually dened upon the
optical density of the object, which can be heterogeneous. Refraction is
achieved by taking the current and previous samples to give a local estimate of the refractive index gradient, which allows us to refract the ray
14
A scene consisting of one amorphous and three reective balls on a
reective table.
Figure 4.
accordingly. A higher sampling rate is typically required to obtain good
results for refraction, compared to a similar image without refraction.
One approach we have adopted to improve eÆciency is to sample density more frequently than other attributes. Figure 5 shows two refractive
spheres dened and rendered as (a) a spherical eld using vlib, and (b)
a spherical surface using POV-Ray. Whilst these images show comparable results in refraction accuracy, the image produced by vlib gives a
better feel of depth across the sphere. Refraction can also be applied to
discrete volume specication such as the CT head shown in Figure 5(c).
Given that normals are estimated with a discrete specication, the errors in the estimated normals further deprive the accuracy of refraction
rays. As geometry can be treated as an independent attribute, an extra
geometry eld can be introduced to aid the computation of refraction
rays. As shown in Figure 5(d), with a mathematically-dened spherical
eld, we can eectively improve the quality of refraction rendering in
discrete ray tracing. A more comprehensive discussion on refraction in
discrete ray tracing can be found in [18].
The shadow eects in Figure 6 were achieved by casting special shadow
rays to each light source from all non-transparent samples encountered
by ordinary rays (i.e. primary, reection and refraction rays). However,
Enriching Volume Modelling with Scalar Fields
(a)
(c)
15
(b)
(d)
(a) The refraction of a spherical eld rendered using a volume ray tracer.
(b) The refraction of a spherical surface using POV-Ray. (c) A glass CT head which
is dened with refraction attributes and rendered with normals estimated from the
original dataset. (d) A glass CT head rendered with normals taken from spherical
distance eld.
Figure 5.
unlike traditional shadow algorithms, the emitted light must be attenuated according to any occluding objects. Figure 1(c) shows an example
of a \soft" shadow cast by an amorphous object. In comparison, Figure
6 shows an example scene with \hard" shadows. This gure also contain spatial objects dened with mathematical, discrete and procedural
specications, together with some reection eects.
16
A tank built from a voxelised dataset and a solid texture on mathematically dened tiles.
Figure 6.
5.
Conclusions
We have instigated further utilisation of scalar elds in volume modeling. In particular, we have examined the use of mathematical, discrete
and procedural specications in modelling complex spatial objects. We
have also discussed the role of scalar elds in dening transfer functions and formulating constructive representations. We have presented
a general method for the rendering of spatial objects and have oered a
consistent approach to rendering dierent types of scalar elds. We have
highlighted the necessity for correct sampling in direct volume rendering,
and we have shown that volume ray tracing can produce comparable,
and sometimes better, results than surface-based ray tracing.
We believe that the notion of spatial objects built upon scalar elds
can unify dierent volumetric representations, in concept as well as in
practice. This has been clearly demonstrated by vlib [24] which employs
a 10-eld modelling scheme and implements a range of rendering features
commonly
seen in surface graphics. The availability of software such as
vlib1 represents a major step towards the realisation of a comprehensive eld-based logic structure in general purpose volume modelling and
rendering.
References
[1] J. F. Blinn, \A generalization of algebraic surface drawing",
on Graphics, 1(3), pp. 235{256, (1982).
1 vlib
is an open source API, and can be found at
ACM Transactions
http://www.vg.swan.ac.uk/vlib/
.
Enriching Volume Modelling with Scalar Fields
17
[2] D. E. Breen, S. Mauch and R. T. Whitaker, \3D conversion of CSG models models
into distance volumes", in Proc. IEEE/ACM Symposium on Volume Visualisation, pp. 7{14, (1998).
[3] R. D. Bergeron, W. Cody, W. Hibbard, D. T. Kao, K. D. Miceli, L. A. Treinish
and S. Walther, \Database issues for data visualization: developing a data model",
in J. P. Lee and G. G. Grinstein (eds), Database Issues for Data Visualization,
Lecture Notes in Computer Science 871, Springer-Verlag, pp. 3{15, (1993).
[4] M. Chen and J. V. Tucker, Constructive Volume Geometry, Technical Report,
CS-TR-98-19, Department of Computer Science, University of Wales Swansea,
(July 1998).
[5] M. Chen, A. E. Kaufman and R. Yagel (eds), Volume Graphics, Springer, London,
(2000).
[6] M. Chen, J. V. Tucker and A. Leu, \Constructive representations of volumetric
environments", in M. Chen, A. Kaufman and R. Yagel (eds), Volume Graphics,
pp. 97{117, Springer, London, (2000).
[7] M. Chen and J. V. Tucker, \Constructive Volume Geometry", Computer Graphics
Forum, 19(4), pp. 281{293, (2000).
[8] S. Fang and R. Dai Srinivasan, \Volumetric CSG - a model-based volume visualisation approach", in Proc. the 6th International Conference in Central Europe
on Computer Graphics and Visualisation, pp. 88{95, (1998).
[9] J. D. Foley, A. van Dam, S K. Feiner and J. F. Hughes, Computer Graphics:
Principles and Practice, Addison-Wesley, Reading, (1990).
[10] A. Kaufman, D. Cohen and R. Yagel, \Volume graphics", IEEE Computer, 26(7),
pp. 51{64, (1993).
[11] J. P. Lee and G. G. Grinstein (eds), Database Issues for Data Visualization,
Lecture Notes in Computer Science 871, Springer-Verlag, (1993).
[12] M. Levoy, \Display of surfaces from volume data", IEEE Computer Graphics
and Applications, 8(5), pp. 29{37, (1988).
[13] W. Lorensen and H. Cline, \Marching cubes: a high resolution 3D surface construction algorithm", ACM/SIGGRAPH Computer Graphics, 21(4), pp. 163{169,
(1987).
[14] G. Nielson, \Volume modelling", in M. Chen, A. Kaufman and R. Yagel (eds),
Volume Graphics, pp. 29{48, Springer, London, (2000).
[15] K. Perlin, \An image synthesizer", ACM/SIGGRAPH Computer Graphics,
19(3), pp. 287{296, (1985).
[16] K. Perlin and E. M. Hoert, \Hypertexture", ACM/SIGGRAPH Computer
Graphics, 23(3), pp. 253{262, (1989).
[17] A. A. G. Requicha, \Representations for rigid solids: theory, methods and systems", Computing Surveys, 12(4), pp. 437{464 (1980).
[18] D. Rodgman and M. Chen \Refraction in discrete raytracing", in K. Mueller and
A. Kaufman (eds), Proc. Volume Graphics 2001, Springer Wien New York, pp.
3{17, (2000).
[19] T. W. Sederberg and S. R. Parry, \Free-form deformation of solid geometric
models", Computer Graphics (Proc. SIGGRAPH 86), pp. 151{160, (1986).
18
[20] L. Sobierajski and A. Kaufman. \Volumetric ray tracing", in Proc. 1994 Symposium on Volume Visualization, pp. 11{18, (1994).
[21] J. K. Udupa and D. Odhner, \Shell rendering", IEEE Computer Graphics and
Applications, 13(6), pp. 58{62, (1993).
[22] S. M. Wang and A. Kaufman, \Volume sampled voxelization of geometric primitives", in Proc. IEEE Symposium on Volume Visualization, pp. 78{84, Los
Alamos, CA, (October 1993).
[23] L. Westover, \Footprint evaluation for volume rendering", ACM/SIGGRAPH
Computer Graphics, 24(4), pp. 59{64, (1990).
[24] A. S. Winter and M. Chen \vlib: a volume graphics API", in K. Mueller and
A. Kaufman (eds), Proc. Volume Graphics 2001, Springer Wien New York, pp.
133{147, (2000).