Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• Motivation
• Algorithms for HSR
Hidden Surface Removal o Back-face detection
o Depth sort
(or, visibility) o Ray casting
o Scan-line
Adam Finkelstein o Z-buffer
Princeton University o Area subdivision
• Tradeoffs
[Sutherland ‘74]
1
Back-face detection 3D Rendering Pipeline
Q: When does this method break down? 3D Primitives
3D Modeling Coordinates
Modeling
Modeling
A: More than one object. Object not closed. Interreflect? Transformation
Transformation Trivial
Trivial Reject
Reject A polygon is backfacing if
3D World Coordinates V•N > 0
Lighting
Lighting
3D World Coordinates
Viewing
Viewing
Transformation
Transformation
3D Camera Coordinates
Projection
Projection
Transformation
Transformation
2D Screen Coordinates N V
Clipping
Clipping back-
back-facing
polygon 2D Screen Coordinates facing
polygon
Viewport
Viewport
Transformation
Transformation
Q: How do we test for back-facing polygons? 2D Image Coordinates
Scan
Scan
Conversion
A: Dot product of the normal and view directions. Conversion
2D Image Coordinates
Image
b 1
1 a
a g 6 2
f c
f 3
e 5 e d 7 c
d d 3
c 4 4 e
b 2 b
5 f
Object Binary Spatial Partition
6 7
Binary Tree
2
Ray Casting Pipeline Z-Buffer
• Color & depth of closest object for every pixel
Ray casting comments
o Update only pixels whose depth is closer than in buffer
o O(p log n) for p pixels
3D Primitives o May (or not) use pixel coherence
o Depths are interpolated from vertices, just like colors
3D Modeling Coordinates
Modeling
Modeling o Simple, but generally not used
Transformation
Transformation
3D World Coordinates
Ray
Ray casting
casting
3D World Coordinates &
2D Image Coordinates
Lighting
Lighting
2D Image Coordinates
Image
3
3D Rendering Pipeline Conclusions
3D Primitives
3D Modeling Coordinates Algorithms for HSR
Modeling
Modeling
Transformation
Transformation
Area subdivision comments o Back-face detection
3D World Coordinates o Augments scan conversion
o Depth sort
Lighting
Lighting o Polygon coherence
o Ray casting
3D World Coordinates o Commonly in software
Viewing
Viewing
Transformation
o Scan-line
Transformation
3D Camera Coordinates o Z-buffer
Projection
Projection
Transformation
Transformation o Area subdivision
2D Screen Coordinates
Clipping
Clipping • Where in pipeline?
2D Screen Coordinates
Viewport
Viewport
Transformation
Transformation
• Hardware / Software?
2D Image Coordinates
Scan
Scan
Area
• Trends in hardware.
Conversion
Conversion Area subdiv.
subdiv.
2D Image Coordinates
Image