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

19
Honours Graphics 2008 Session 5

Upload: mavis-shepherd

Post on 17-Jan-2018

218 views

Category:

Documents


0 download

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

Page 1: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Honours Graphics 2008

Session 5

Page 2: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Today’s focus

• Rasterization

• Visibility determination

• Coarse / fine visibility determination

Page 3: 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

Page 4: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 5: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 6: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 7: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Image curtesy wikipedia

Texture mapping

Bump mapping

Page 8: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Environment mapping

Page 9: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 10: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Visibility determination, fine

• Fine-grained visibility determination functions on elementary units, such as individual triangles or pixels

• Examples include backface culling andz-buffers

Page 11: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 12: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 13: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

View frustum• Determine whether spatial sets are inside the FOV

Page 14: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Quadtree• Hierarchical divisioning scheme

Page 15: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Octree

• 3D version of a quadtree

• Quadtrees typically apply to terrain data, octrees apply to space or urban data

Page 16: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

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

Page 17: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Portals

• A form of adaptive frustum culling

Page 18: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Potential Visibility Sets• Stores summary data on what could be seen

from scene elements• Applicable to many algorithms

Page 19: Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination

Homework

• …none… but mentally prepare yourself for plenty tomorrow