Adapted from Min Chen’s Presentation in
Dagstuhl Seminar 00211
Enriching Volume Modelling with
Scalar Fields
Adapted from Min Chen’s Presentation in
Dagstuhl Seminar 00211
Enriching Volume Modelling with
Scalar Fields
Min Chen, Andrew S Winter,David Rodgman and Steve Treavett
Department of Computer ScienceUniversity of Wales Swansea
Min Chen, Andrew S Winter,David Rodgman and Steve Treavett
Department of Computer ScienceUniversity of Wales Swansea
CONTENTSCONTENTS
1. The Role of Scalar Fields Motivation
2. Volume Modelling with Scalar Fields Scope of Volume Modelling Constructive Volume Geometry Solid, Hyper- and NPR Textures
3. Direct Rendering of Scalar Fields Rendering Issues Rendering Effects
1. The Role of Scalar Fields Motivation
2. Volume Modelling with Scalar Fields Scope of Volume Modelling Constructive Volume Geometry Solid, Hyper- and NPR Textures
3. Direct Rendering of Scalar Fields Rendering Issues Rendering Effects
“Field” in Surface Graphics (I)“Field” in Surface Graphics (I)
ContinuousSurface Reps.
e.g. F(p) = 0
ContinuousSurface Reps.
e.g. F(p) = 0
DiscreteSurface Reps.
e.g. mesh
DiscreteSurface Reps.
e.g. meshProjectionProjection
RayCasting
RayCasting
DiscreteField Reps.
e.g. S.O.E.
DiscreteField Reps.
e.g. S.O.E.
ContinuousField Reps.
e.g. F(p)
ContinuousField Reps.
e.g. F(p)
“Field” in Surface Graphics (II)“Field” in Surface Graphics (II)
Spatial-Occupancy Enumeration Implicit Surfaces Solid Textures Hypertextures Free Form Deformation Gaseous Phenomena (e.g. clouds) Water
Spatial-Occupancy Enumeration Implicit Surfaces Solid Textures Hypertextures Free Form Deformation Gaseous Phenomena (e.g. clouds) Water
“Fields” in Visualisation (I)“Fields” in Visualisation (I)
DiscreteSurface Reps.
e.g. mesh
DiscreteSurface Reps.
e.g. meshProjectionProjection
RayCasting
RayCasting
DiscreteField Reps.
e.g. volume
DiscreteField Reps.
e.g. volume
ContinuousField Reps.
e.g. F(p)
ContinuousField Reps.
e.g. F(p)
UnderlyingConcept
UnderlyingConcept
“Fields” in Visualisation (II)“Fields” in Visualisation (II)
Ray Casting Pipelinefor Volume RenderingRay Casting Pipelinefor Volume Rendering
“Fields” in Volume Graphics (I)“Fields” in Volume Graphics (I)
ProjectionProjection
RayCasting
RayCasting
DiscreteField Reps.
e.g. volume
DiscreteField Reps.
e.g. volume
ContinuousField Reps.
e.g. F(p)
ContinuousField Reps.
e.g. F(p)
“Fields” in Volume Graphics (II)“Fields” in Volume Graphics (II)
Discrete FieldSpecification: MRI and CT Datasets, Image, Video
Continuous FieldSpecification: Cylinders, cuboids (for difference operations)
Discrete FieldSpecification: MRI and CT Datasets, Image, Video
Continuous FieldSpecification: Cylinders, cuboids (for difference operations)
MotivationMotivation
To match surface graphics in most aspects
To supersede surface graphics in some aspects
To feed the techniques back into visualisation
To match surface graphics in most aspects
To supersede surface graphics in some aspects
To feed the techniques back into visualisation
2. MODELLING WITH FIELDS2. MODELLING WITH FIELDS
Scope of Volume Modelling Constructive Volume Geometry Solid, Hyper- and
NPR Textures
Scope of Volume Modelling Constructive Volume Geometry Solid, Hyper- and
NPR Textures
Scope of Volume Modelling (I)Scope of Volume Modelling (I)
the process of modelling volume data;
a generalisation in dimension to surface modelling;
the means to provide the input to the volume rendering integral.
the process of modelling volume data;
a generalisation in dimension to surface modelling;
the means to provide the input to the volume rendering integral.
Gregory M. Nielson (1999)
Arizona State University
Scope of Volume Modelling (II)Scope of Volume Modelling (II)
Volume Data Types Scenes, Objects, Attributes Constructive Specification Heterogeneous Object Interior Amorphous Phenomena Software Tools
Volume Data Types Scenes, Objects, Attributes Constructive Specification Heterogeneous Object Interior Amorphous Phenomena Software Tools
Process
Generalisation
Input
Volume Data Types (I)Volume Data Types (I)
Spatial, Continuous Specification Explicit Field Function: F(x, y, z)
(Mathematical and Procedural) Parametric Field Function:
F(t1,t2,...) Spatial, Discrete Specification
Discrete Point Set Regular Dataset (e.g. CT dataset) Irregular Dataset (e.g. tetrahedral
mesh, free-hand ultrasound) Image and Video
Spatial, Continuous Specification Explicit Field Function: F(x, y, z)
(Mathematical and Procedural) Parametric Field Function:
F(t1,t2,...) Spatial, Discrete Specification
Discrete Point Set Regular Dataset (e.g. CT dataset) Irregular Dataset (e.g. tetrahedral
mesh, free-hand ultrasound) Image and Video
Volume Data Types (II)Volume Data Types (II)
Non-spatial Fourier Domain Wavelet Domain Compressed Image and Video Light Field
Non-spatial Fourier Domain Wavelet Domain Compressed Image and Video Light Field
Volume Data Types (III)Volume Data Types (III)
High-LevelModels
High-LevelModels
Non-SpatialModels
Non-SpatialModels
DiscreteSpatial Models
DiscreteSpatial Models
ContinuousSpatial ModelsContinuous
Spatial Models
Constructive Volume GeometryConstructive Volume Geometry
scene
object object object......
field O R G B Ge Ka Kd Ks N Dn Rfl Rfr
• Constant• Volume Dataset• Colour-separated image
• Built-in mathematical scalar field• Procedural scalar field• plus various mappings
Txt ...
CVG: Scalar Field (I)CVG: Scalar Field (I)
A spatial object is a tuple
o = (O, A1, A2, …, Ak)
of scalar fields defined in E3, including an opacity field O: E3 [0,1] specifying the visibility of every point in E3 and possibly other attribute fields, A1, A2, …, Ak: E3 [0,1], k>0.
A spatial object is a tuple
o = (O, A1, A2, …, Ak)
of scalar fields defined in E3, including an opacity field O: E3 [0,1] specifying the visibility of every point in E3 and possibly other attribute fields, A1, A2, …, Ak: E3 [0,1], k>0.
O: hyperbolic paraboloidR: cylindrical field G: cylindrical field B: cylindrical field
CVG: Scalar Fields (II)CVG: Scalar Fields (II)
O: sphereR: noiseG: constantB: constant
O: torusR: datasetG: constantB: dataset
O: hyperbolic paraboloid R, G, B: constantGeo: hyperbolic paraboloid + noise
Scalar Fields (III)Scalar Fields (III)
O: implicit function R, G, B: linear functionsGeo: implicit function
O: implicit function R, G, B: linear functionsGeo: hyperbolic paraboloid
CVG: Data RepresentationCVG: Data Representation
(o1, o2)(o1, o2)
o1o1 o2o2
composite volume objectcomposite volume object
convex volume object
convex volume object
convex volume object
convex volume object
1
CVG: 4 Colour Channel ModelCVG: 4 Colour Channel Model
operations on scalarsoperations on scalars
operations on scalar
fields
operations on scalar
fields
operations on spatial
objects
operations on spatial
objects
(o1, o2) = ((o1, o2) = ( MAX(O1, O2),SELECT(O1, R1, O2, R2),SELECT O1, G1, O2, G2),SELECT(O1, B1, O2, B2) )
MAX(O1, O2),SELECT(O1, R1, O2, R2),SELECT O1, G1, O2, G2),SELECT(O1, B1, O2, B2) )
max(s1, s2) = max(s1, s2) = s1 s1 s2
s2 s1 < s2
s1 s1 s2
s2 s1 < s2{{
select(s1, t1, s2, t2) = select(s1, t1, s2, t2) = t1 s1 s2
t2 s1 < s2
t1 s1 s2
t2 s1 < s2{{
............
CVG: Operation (I)CVG: Operation (I)
o1=(O1, R1, G1, B1)o1=(O1, R1, G1, B1)
o2=(O2, R2, G2, B2)o2=(O2, R2, G2, B2)
(o1, o2)(o1, o2)
CVG: Operation (II)CVG: Operation (II)
(o1, o2)(o1, o2)
(o1, o2)(o1, o2)
(o1, o2)(o1, o2)
(o2, o1)(o2, o1)
Solid, Hyper- and NPR TexturesSolid, Hyper- and NPR Textures
Solid Texture: Defining R(p), G(p), B(p) with Fields Defining Geo(p) with Fields
Hypertexture: Defining Distance Fields Dist(p) Defining R(Dist(p)), G(...), B(...)
Non-Photorealistic Texture: Defining O(p), R(p), G(p), B(p)
Defining a NPR mapping
Solid Texture: Defining R(p), G(p), B(p) with Fields Defining Geo(p) with Fields
Hypertexture: Defining Distance Fields Dist(p) Defining R(Dist(p)), G(...), B(...)
Non-Photorealistic Texture: Defining O(p), R(p), G(p), B(p)
Defining a NPR mapping
3. RENDERING FIELDS3. RENDERING FIELDS
Direct Rendering of Fields Discrete Sampling Rendering Effects
Direct Rendering of Fields Discrete Sampling Rendering Effects
Rendering ComplexityRendering ComplexityComplexity Level
of Direct Rendering
Single Regular VolumeSingle Regular Volume
Tetrahedral MeshTetrahedral Mesh
Predefined Scalar Fields
Predefined Scalar Fields
Arbitrary Explicit FieldsArbitrary Explicit Fields
Parametric FieldsParametric Fields
Constructive RepsConstructive Reps
Non-spatial DomainNon-spatial Domain
Issues in Discrete SamplingIssues in Discrete Sampling
Relationships among density, opacity and sampling distance;
Rendering amorphous phenomena with reflection, refraction and shadows;
Mathematical fields suit software better than hardware.
Relationships among density, opacity and sampling distance;
Rendering amorphous phenomena with reflection, refraction and shadows;
Mathematical fields suit software better than hardware.
Consistent Sampling (I)Consistent Sampling (I)
accumulated colour
density
sampled colours
sampled opacities
sampling distance
dueuuC
duuuuCtC
tu
tu
dvv
tu
tusum
uv
tv
1
1
1)()(
Volume Rendering Integral
Consistent Sampling (III)Consistent Sampling (III)
0.5:0.5 0.1:0.5
0.005:0.50.01:0.50.05:0.5
1.0:0.5
2
Volume Data TypesVolume Data Types
High-LevelModels
High-LevelModels
Non-SpatialModels
Non-SpatialModels
DiscreteSpatial Models
DiscreteSpatial Models
ContinuousSpatial ModelsContinuous
Spatial Models
Scalar Fields