Title: P1259229601MSYrD
1Stylistic Rendering of Implicit Models
By Brian Wyvill, Kevin Foster, Pauline
Jepp, Ryan Schmidt, Mario Costa Sousa, Joaquim A.
Jorge.
University of Calgary GraphicsJungle Group
2Problem
Building Shapes Complex objects Smooth curved
volumes Blended objects Branching Collision
detection (Abutting objects) Sharp Junctions
(CSG) Interaction Sketching Stylistic
renderings
3The BlobTree 2005
- Complexity - Hierarchy
- Affine Transformations
- CSG (union, difference, intersection)
- Blend
- Controlled Blend
- Warp (e.g. twist,taper,bend)
- Texture
- Animation Tracks
- Precise contact modelling
- Distance Metrics
- NPR Rendering
Skeletal Implicit primitives
4Control of Blending
5Space Warp
6Complex Models (Natural Phenomana)
7Complex Models (Natural Phenomana)
Murex Cabritii Model Callum Galbraith
8Efficiency
- Rendering slow due to the number of implicit
function - evaluations.
- Approaches to speeding up the traversal
- Space Subdivision
- Tree Pruning
- Caching
9Blob Tree With Cache Nodes
Tri-quadratic Vs. Tri-linear interploation
10Variable Resolution
643
323
163
- Resolutions are per-component (components are
tail, body, and left hand) - Tri-quadratic reconstruction is used for value
and gradient - (smoother surface at low resolution)
11(No Transcript)
12Non-Photorealistic Rendering
- Motivation
- Create natural science illustrations
- Art
- Improve rendering time for Implicit Surfaces
13Pen and ink
14Related work
- David Bremmer and John Hughes 98
- Use a raytracer paradigm to create short strokes
on surface and to trace strokes around contours - Few rays are used to increase speed
- Integration methods produce good results but are
expensive
- Gershon Elber 98, 99
- Uses particles distributed on the surface to
create strokes - Uses principal directions for stroke direction
- Transparency
15The system
Stylise strokes
16Initialise Particles On Surface
- Particles are initialised on the surface
- partitioned by voxelisation
- distributed by attraction / repulsion.
Fp Rp Attraction repulsion particles within
a voxel attraction along gradient.
17Tracking The Silhouette
18Create strokes from interior particles
- We create small marks following the contour,
principal directions and arbitrary
user-controlled directions. - Vary the width, length and intensity of these
small strokes on curvature, slope, distance and
lighting information.
Stroke direction and intensity by contour
Stroke direction by contour, intensity by contour
and lights
Stroke direction by principal direction of
curvature, intensity by light direction.Note
contour strokes.
19Create strokes on CSG regions
CSG Strokes
20CSG Strokes Finding the discontinuity
21CSG Strokes Finding the discontinuity
22CSG Strokes Finding the discontinuity
23CSG Strokes Finding the discontinuity
24CSG Strokes Finding the discontinuity
25CSG Strokes Finding the discontinuity
26CSG Strokes The dual tracking algorithm the
racetrack problem
27CSG Strokes The dual tracking algorithm the
racetrack problem
28CSG Strokes The dual tracking algorithm the
racetrack problem
29CSG Strokes The dual tracking algorithm the
racetrack problem
30CSG Strokes The dual tracking algorithm the
racetrack problem
31CSG Strokes The dual tracking algorithm the
racetrack problem
32CSG Strokes The dual tracking algorithm the
racetrack problem
33CSG Strokes The dual tracking algorithm the
racetrack problem
34CSG Strokes The dual tracking algorithm the
racetrack problem
35CSG Strokes The dual tracking algorithm
maintain straddling
36CSG Strokes The dual tracking algorithm
maintain straddling
37CSG Strokes The dual tracking algorithm
maintain straddling
38CSG Strokes The dual tracking algorithm
maintain straddling
39CSG Strokes The dual tracking algorithm
maintain straddling
40CSG Strokes The dual tracking algorithm
maintain straddling
41CSG Strokes The dual tracking algorithm
maintain straddling
42CSG Strokes The dual tracking algorithm
maintain straddling
43CSG Strokes The dual tracking algorithm
maintain straddling
44Finding Discontinuities
- It is desirable to show shape features such as
CSG junctions that are not on a silhouette. We
use the difference in gradient criteria to detect
a feature then track using two particles - Particles wander on surface if either side of the
discontinuity (?a - ?b)gt? finds a1 and b1 - 2. Tangent planes through a and b and ?ax?b
intersect to give first guess, p. Iterate to
surface.
45Dual Particle Tracking Algorithm
1. Increment a step in direction d1 ?a X ?b 2.
If b2 is inside then scale d1 to allow for the
inside track. 3. if the points bracket the
feature then continue else It could be that one
of the particles crosses the surface (blue
particle at step 3). Take the vector v3 b3
(b2 - a2) take the step and iterate to surface.
a3
b3
v3
a2
b2
d1
a1
b1
Particles a,b positions after 3 steps
46(No Transcript)
47Speleothem
grown using BlobTree simulation hooks,
rendered by ray tracing and NPR techniques.
(Callum Galbraith)
48Sketch Based Interface and Caching
49(No Transcript)
50(No Transcript)
51Sample BlobTree Movies
Wedding Invitation
Wedding Invitation Out-Take