hidden surface removal
DESCRIPTION
Hidden Surface Removal. Hidden Surface Removal. Object-Space and Image-Space Approaches Back-Face Culling Z-Buffer Algorithm Depth Sort and Painter’s Algorithm. Algorithm Classifications. Object-Space Methods: Visibility is decided by comparing objects in object-space. - PowerPoint PPT PresentationTRANSCRIPT
CECS461 Computer Graphics II University of Missouri at Columbia
Hidden Surface Removal
CECS461 Computer Graphics II University of Missouri at Columbia
Hidden Surface Removal• Object-Space and Image-Space Approaches
• Back-Face Culling
• Z-Buffer Algorithm
• Depth Sort and Painter’s Algorithm
• Object-Space and Image-Space Approaches
• Back-Face Culling
• Z-Buffer Algorithm
• Depth Sort and Painter’s Algorithm
CECS461 Computer Graphics II University of Missouri at Columbia
Algorithm Classifications• Object-Space Methods:
– Visibility is decided by comparing objects in object-space.
– e.g. painter’s algorithm.
• Image-Space Methods:– Visibility is decided at each pixel position in the
projection plane.– e.g. Z-Buffer algorithm
• Object-Space Methods:– Visibility is decided by comparing objects in object-
space.– e.g. painter’s algorithm.
• Image-Space Methods:– Visibility is decided at each pixel position in the
projection plane.– e.g. Z-Buffer algorithm
CECS461 Computer Graphics II University of Missouri at Columbia
Back Face Culling
x
z
CECS461 Computer Graphics II University of Missouri at Columbia
Back Face Culling
x
z
• A polygon is a back face if V • N > 0.
• For OpenGL, V=(0,0,-1)
• A polygon is a back face if V • N > 0.
• For OpenGL, V=(0,0,-1)
CECS461 Computer Graphics II University of Missouri at Columbia
Z-Buffer Algorithm
x
(x, y)
z
y
• Most widely used Image-space algorithm.
• Easy to implement, both in software and hardware.
• Incremental computation.
• Most widely used Image-space algorithm.
• Easy to implement, both in software and hardware.
• Incremental computation.
CECS461 Computer Graphics II University of Missouri at Columbia
Z-Buffer Algorithm
x
(x, y)
z
y
CECS461 Computer Graphics II University of Missouri at Columbia
Z-Buffer Algorithm• Can be conducted with scan-conversion.
Assume the plane equation of the triangle is
ax + by + cz + d = 0
let (x1, y1, z1) and (x2, y2, z2) be two points on the triangle.
x = x2 - x1 , y = y2 - y1 , z = z2 - z1
then a x + b y + c z = 0
since x = 1, y = 0, then z = - a/c.
• Can be conducted with scan-conversion.
Assume the plane equation of the triangle is
ax + by + cz + d = 0
let (x1, y1, z1) and (x2, y2, z2) be two points on the triangle.
x = x2 - x1 , y = y2 - y1 , z = z2 - z1
then a x + b y + c z = 0
since x = 1, y = 0, then z = - a/c.
CECS461 Computer Graphics II University of Missouri at Columbia
Painter’s Algorithm• Back-to-front rendering: polygons are sorted by
z-coordinates in object space, and are rendered in back-to-front order.
• Back-to-front rendering: polygons are sorted by z-coordinates in object space, and are rendered in back-to-front order.
x
z
y
A
CB
CECS461 Computer Graphics II University of Missouri at Columbia
Painter’s Algorithm• Need to check for overlapping using BSP tree or
Octree.
• Overlapped triangles need to be spitted.
• Need to check for overlapping using BSP tree or Octree.
• Overlapped triangles need to be spitted.