07.01.2013 Views

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Polygon 111<br />

Polygon<br />

Polygons are used in computer <strong>graphics</strong> to compose images that are three-dimensional in appearance. Usually (but<br />

not always) triangular, polygons arise when an object's surface is modeled, vertices are selected, and the object is<br />

rendered in a wire frame model. This is quicker to display than a shaded model; thus the polygons are a stage in<br />

computer animation. The polygon count refers to the number of polygons being rendered per frame.<br />

Competing methods for rendering polygons that avoid seams<br />

• Point<br />

• Floating Point<br />

• Fixed-Point<br />

• Polygon<br />

• because of rounding, every scanline has its own direction in space and may show its front or back side to the<br />

viewer.<br />

• Fraction (mathematics)<br />

• Bresenham's line algorithm<br />

• Polygons have to be split into triangles<br />

• The whole triangle shows the same side to the viewer<br />

• The point numbers from the Transform and lighting stage have to converted to Fraction (mathematics)<br />

• Barycentric coordinates (mathematics)<br />

• Used in raytracing<br />

Potentially visible set<br />

Potentially Visible Sets are used to accelerate the rendering of <strong>3D</strong> environments. This is a form of occlusion culling,<br />

whereby a candidate set of potentially visible polygons are pre-computed, then indexed at run-time in order to<br />

quickly obtain an estimate of the visible geometry. The term PVS is sometimes used to refer to any occlusion culling<br />

algorithm (since in effect, this is what all occlusion algorithms compute), although in almost all the literature, it is<br />

used to refer specifically to occlusion culling algorithms that pre-compute visible sets and associate these sets with<br />

regions in space. In order to make this association, the camera view-space (the set of points from which the camera<br />

can render an image) is typically subdivided into (usually convex) regions and a PVS is computed for each region.<br />

Benefits vs. Cost<br />

The benefit of offloading visibility as a pre-process are:<br />

• The application just has to look up the pre-computed set given its view position. This set may be further reduced<br />

via frustum culling. Computationally, this is far cheaper than computing occlusion based visibility every frame.<br />

• Within a frame, time is limited. Only 1/60th of a second (assuming a 60 Hz frame-rate) is available for visibility<br />

determination, rendering preparation (assuming <strong>graphics</strong> hardware), AI, physics, or whatever other app specific<br />

code is required. In contrast, the offline pre-processing of a potentially visible set can take as long as required in<br />

order to compute accurate visibility.<br />

The disadvantages are:<br />

• There are additional storage requirements for the PVS data.<br />

• Preprocessing times may be long or inconvenient.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!