honours graphics 2008 session 5. today’s focus rasterization visibility determination coarse /...

Post on 17-Jan-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

top related