Download presentation
Presentation is loading. Please wait.
1
Mark Nelson mjas@itu.dk Rendering algorithms Fall 2013 www.itu.dkwww.itu.dk
2
Last lecture: Wireframe projection
3
Wireframe -> opaque Starts the same Transform vertices to (x,y) coordinates But instead of connecting the 3 vertices, flood-fill it with a color But, how to deal with overlapping triangles?
4
Occlusion Wireframes have no occlusion Front and back side of objects are visible If surfaces are opaque, that won’t do How do we draw only visible surfaces?
5
Painter’s algorithm Simplest solution Sort triangles from back to front by center z-coord Draw in order Further-front triangles overwrite further-back ones
6
Painter’s algorithm
7
Painter’s algorithm downsides Wasted drawing effort Triangles are drawn only to be overwritten Possible artifacts since it only sorts by triangle centers
8
Scanline algorithm Line by line Find all triangle edges that intersect this line Start scanning left to right When we encounter an edge: Add triangle to stack if it’s not on it (starting edge) Remove triangle if it was already on the stack (closing edge) Draw pixel that corresponds to nearest triangle on stack
9
Simple ray-casting From viewport, draw a ray from each pixel until it hits the first surface Render that pixel Simple but inefficient
10
Z-buffering Render triangle to (x,y) framebuffer but also save the z’s Z buffer: current z-depth of every pixel Don’t write a pixel to the framebuffer if z > zbuffer Optimization: draw front to back to minimize overwrites
11
Z-buffering / scanline Generally combined Proceed in scanline order Z-buffer for occlusion test Why not stack-based scanline algorithm? Z-buffer correctly handles each pixel
12
Hierarchical z-buffer
13
Optimizations Z-buffering stops us from rendering some unnecessary pixels Can we avoid entire unnecessary triangles?
14
Frustum culling Exclude triangles outside the frustum Clip triangles on the edges to the edge Can be done either in view space or clip space
15
Occlusion culling Fast-fail completely invisible triangles E.g. ”early z test” Potentially visible set algorithms
16
Some alternative perspectives Isometric graphics Parallel projection, tiled, fixed viewing angle Graphics can therefore be predrawn to fake 3d The angle is the one where axes have the same scale Rotated 45 degrees around vertical, 35.264 around horizontal In pixel art, approximated with a 2:1 ratio Oblique projection Fake 3d Draw a 2d front view of the object, and then a skewed 2 side view Depth often foreshortened (e.g. 0.5)
17
Isometric (Age of Empires 2)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.