Computer Graphics 2 - Object Representations: Tom Thorne
Computer Graphics 2 - Object Representations: Tom Thorne
Tom Thorne
Last time
I
I
I
History, applications
Basic vector algebra
Computer graphics pipeline
Overview
Polygon meshes
I
I
I
I
I
I
Storage
Representation
Decomposition
Quad meshes
Generation
Implicit surfaces
Level of detail
I
Scaling methods
Image representations
I
I
I
Pixel Buffers
Alpha channels
Z buffers
Mesh structures
Triangle representation
Mesh topology
Manifolds:
I
I
Mesh topology
Manifolds with boundaries:
I
I
Mesh topology
Examples of non-manifold meshes:
Storage format
Vertices:
-1 1
-1 -1
1 -1
1 1
-1 1
-1 -1
1 -1
1 1
1
1
1
1
-1
-1
-1
-1
Polygons:
1 2 3
1 3 4
1 4 8
1 8 5
4 3 8
3 7 8
5 7 6
5 8 7
1 5 2
5 6 2
2 6 7
2 7 3
4
6
Orientation
Triangle fans
Triangle strips
Decomposing surfaces
89
Geometric Compression
89
Sprial decomposition
Geometric Compression
I
I
91
Fig. 3. Two ways of peeling an orange: (a) (b) the thick edges are the edges of the vertex tree
constructed on the mesh; (c) (d) the mesh is cut through the vertex tree edges (the vertex
positions have been modified here only to illustrate the creation of the cut); (e) (f) the result is
a topological simply connected polygon. The dual graph of this polygon is the triangle tree.
neighbour
Vertices
x1 y1
x2 y2
..
..
.
.
z1
z2
..
.
Edges
va vb
..
..
.
.
eneighbour
..
.
next
er
es
..
.
enext
..
.
eprev
..
.
prev
Surface normals
Calculation:
n = (t r ) (s r )
r
uv
s
v=t-r
u=s-r
Surface normals
Face normals
Surface normals
Vertex normals
Quadrilateral meshes
Relatively easy to extend to quadrilateral meshes (quadmeshes):
I
Problems:
I
Quadrilateral meshes
Benefits of quadmeshes:
I
Lvy,/ Quad
N. Pietroni,
E. Puppo, C. Silva, M. Tarini,
D. Bommes, B. Lvy, N. Pietroni, E. Puppo, C. Silva, D.
M.Bommes,
Tarini, D.B.
Zorin
Meshing
9 D. Zorin / Qua
(a)
(b)
(a)
(c)
(b)
(d)
(c)
Quadrilateral meshes
I
I
I
I
I
I
I
Scanning meshes
Laser range scanning
I
I
Stereo vision
I
KINECT
I
I
Procedural models
I
Implicit surfaces
Given some potential function f (x ) we can evaluate at every point
in space, define an isosurface of all points where f (x ) = c
I
P ai
i r
Marching cubes
Potential is computed at each point on a grid
I
I
Overview
Polygon meshes
I
I
I
I
I
I
Storage
Representation
Decomposition
Quad meshes
Generation
Implicit surfaces
Level of detail
I
Scaling methods
Image representations
I
I
I
Pixel Buffers
Alpha channels
Z buffers
514
5066
tessellated
(25,440 faces).
Interactive
frame
rate near this
viewpoint
is 14.7 frames/sec,LOD
versus
6.8 frames/sec
Figure parametric
11: The PMsurface
representation
of a mesh
M captures
a continuous
sequence
of view-independent
meshes
M0
M n using
= M. M.
(a) Top
Original
(b) View 1 (3,157 faces)
(a)
viewM
( (42,712
= 0 0 ; faces)
33,119 faces)
(b) Top and regular views (c)
( =View
0 33 2 ;(2,559
10,013faces)
faces)
Figure 15: Two view-dependent refinements of a general mesh M using view frustums highlighted in orange and with
set to 0.6%.
vsplit
f n1
f n0
vs
fn1 v f n3
u
fn3
fl
f n2
fr
fn0 v t f
n2
ecol
Overview
Polygon meshes
I
I
I
I
I
I
Storage
Representation
Decomposition
Quad meshes
Generation
Implicit surfaces
Level of detail
I
Scaling methods
Image representations
I
I
I
Pixel Buffers
Alpha channels
Z buffers
Image representations
Standard 32 bit format for colours:
A R G B
31 - 24 23 - 16
15 - 8
7-0
Other formats:
I
I
Pixel buffers
0 1 2 3
0
1
2
3
int array[4][4];
int arrayFlat[16];
array[y][x]=arrayFlat[y*width+x];
Z buffers
Summary
Polygon meshes
I
I
I
Level of detail
I
I
Why?
Scaling
Image data
I
I
I
References
Shirley:
I
I
Papers:
I
I
I