Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mark Nelson Rendering algorithms Fall 2013

Similar presentations


Presentation on theme: "Mark Nelson Rendering algorithms Fall 2013"— Presentation transcript:

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)


Download ppt "Mark Nelson Rendering algorithms Fall 2013"

Similar presentations


Ads by Google