Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse /...
-
Upload
mavis-shepherd -
Category
Documents
-
view
218 -
download
0
description
Transcript of Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse /...
Honours Graphics 2008
Session 5
Today’s focus
• Rasterization
• Visibility determination
• Coarse / fine visibility determination
Rasterization
• General term for the process of converting vector information to a raster format
• Covers 3D space transformations, projection onto image plane, clipping, scan conversion, texturing, lighting & shadows, effects
Rasterization, cont.
• Transformation: covered previously• Clipping: limit the vector data to FOV;
includes side, near and far clip planes• Scan conversion: “filling” the triangles
described by vertex data, including• Texturing, environment mapping, bump
mapping, light and shadows
Rasterization, cont.
• Scan conversion, typically uses scanline algorithm (or variant)
• Determines render result on a row-by-row basis
• Sorts polygons into top-left to bottom-right order then proceeds to render each row by intersecting polygons with scanline
Rasterization, cont.
• Texture mapping – apply image to polygon
• Environment mapping – view dependent texturing based on an environment map, used to create the illusion of reflection
• Bump mapping – texturing to create the illusion of depth on a surface
Image curtesy wikipedia
Texture mapping
Bump mapping
Environment mapping
Visibility determination
• While mapping and effects are entertaining and yield attractive visual results, the fundamental problem in 3D graphics is visibility determination
• Related problems “occlusion determination” and “hidden surface removal”
• Problem particularly relevant for real-time graphics systems
• A variety of coarse and fine techniques are used to accelerate the process
Visibility determination, fine
• Fine-grained visibility determination functions on elementary units, such as individual triangles or pixels
• Examples include backface culling andz-buffers
Visibility determination, coarse
• Many simple and complex algorithms exist that perform coarse visibility determination
• Don’t cater for specific, individual pieces; instead make broad sweeping statements regarding visibility.
• Can eliminate or select entire sets of visible data
Coarse Visibility Testing
• Typically makes use of spatial organisation to quickly determine whether large sets of data are visible or occluded
• Examples: view frustrum culling, binary space partitions, portals, potential visibility sets, quadtrees, octrees
View frustum• Determine whether spatial sets are inside the FOV
Quadtree• Hierarchical divisioning scheme
Octree
• 3D version of a quadtree
• Quadtrees typically apply to terrain data, octrees apply to space or urban data
Binary space partitions
• Originally developed by Henry Fuchs, 1980
• Applies binary trees to spatial data• Famous for their application in the original
Quake game, along with potential visibility sets
• Useful for spatial sorting, lighting & shadow, physics, collision detection and more
Portals
• A form of adaptive frustum culling
Potential Visibility Sets• Stores summary data on what could be seen
from scene elements• Applicable to many algorithms
Homework
• …none… but mentally prepare yourself for plenty tomorrow