3D graphics eBook - Course Materials Repository

3D graphics eBook - Course Materials Repository 3D graphics eBook - Course Materials Repository

courses.essex.ac.uk
from courses.essex.ac.uk More from this publisher
07.01.2013 Views

Fragment 45 Fragment In computer graphics, a fragment is the data necessary to generate a single pixel's worth of a drawing primitive in the frame buffer. This data may include, but is not limited to: • raster position • depth • interpolated attributes (color, texture coordinates, etc.) • stencil • alpha • window ID As a scene is drawn, drawing primitives (the basic elements of graphics output, such as points,lines, circles, text etc [1] ) are rasterized into fragments which are textured and combined with the existing frame buffer. How a fragment is combined with the data already in the frame buffer depends on various settings. In a typical case, a fragment may be discarded if it is farther away than the pixel that is already at that location (according to the depth buffer). If it is nearer than the existing pixel, it may replace what is already there, or, if alpha blending is in use, the pixel's color may be replaced with a mixture of the fragment's color and the pixel's existing color, as in the case of drawing a translucent object. In general, a fragment can be thought of as the data needed to shade the pixel, plus the data needed to test whether the fragment survives to become a pixel (depth, alpha, stencil, scissor, window ID, etc.) References [1] The Drawing Primitives by Janne Saarela (http:/ / baikalweb. jinr. ru/ doc/ cern_doc/ asdoc/ gks_html3/ node28. html)

Geometry pipelines 46 Geometry pipelines Geometric manipulation of modeling primitives, such as that performed by a geometry pipeline, is the first stage in computer graphics systems which perform image generation based on geometric models. While Geometry Pipelines were originally implemented in software, they have become highly amenable to hardware implementation, particularly since the advent of very-large-scale integration (VLSI) in the early 1980s. A device called the Geometry Engine developed by Jim Clark and Marc Hannah at Stanford University in about 1981 was the watershed for what has since become an increasingly commoditized function in contemporary image-synthetic raster display systems. [1] [2] Geometric transformations are applied to the vertices of polygons, or other geometric objects used as modelling primitives, as part of the first stage in a classical geometry-based graphic image rendering pipeline. Geometric computations may also be applied to transform polygon or patch surface normals, and then to perform the lighting and shading computations used in their subsequent rendering. History Hardware implementations of the geometry pipeline were introduced in the early Evans & Sutherland Picture System, but perhaps received broader recognition when later applied in the broad range of graphics systems products introduced by Silicon Graphics (SGI). Initially the SGI geometry hardware performed simple model space to screen space viewing transformations with all the lighting and shading handled by a separate hardware implementation stage, but in later, much higher performance applications such as the RealityEngine, they began to be applied to perform part of the rendering support as well. More recently, perhaps dating from the late 1990s, the hardware support required to perform the manipulation and rendering of quite complex scenes has become accessible to the consumer market. Companies such as NVIDIA and ATI (now a part of AMD) are two current leading representatives of hardware vendors in this space. The GeForce line of graphics cards from NVIDIA were the first to implement hardware geometry processing in the consumer PC market, while earlier graphics accelerators by 3Dfx and others had to rely on the CPU to perform geometry processing. This subject matter is part of the technical foundation for modern computer graphics, and is a comprehensive topic taught at both the undergraduate and graduate levels as part of a computer science education. References [1] Clark, James (July 1980). "Special Feature A VLSI Geometry Processor For Graphics" (http:/ / www. computer. org/ portal/ web/ csdl/ doi/ 10. 1109/ MC. 1980. 1653711). Computer: pp. 59–68. . [2] Clark, James (July 1982). "The Geometry Engine: A VLSI Geometry System for Graphics" (http:/ / accad. osu. edu/ ~waynec/ history/ PDFs/ geometry-engine. pdf). Proceedings of the 9th annual conference on Computer graphics and interactive techniques. pp. 127-133. .

Fragment 45<br />

Fragment<br />

In computer <strong>graphics</strong>, a fragment is the data necessary to generate a single pixel's worth of a drawing primitive in<br />

the frame buffer.<br />

This data may include, but is not limited to:<br />

• raster position<br />

• depth<br />

• interpolated attributes (color, texture coordinates, etc.)<br />

• stencil<br />

• alpha<br />

• window ID<br />

As a scene is drawn, drawing primitives (the basic elements of <strong>graphics</strong> output, such as points,lines, circles, text etc<br />

[1] ) are rasterized into fragments which are textured and combined with the existing frame buffer. How a fragment is<br />

combined with the data already in the frame buffer depends on various settings. In a typical case, a fragment may be<br />

discarded if it is farther away than the pixel that is already at that location (according to the depth buffer). If it is<br />

nearer than the existing pixel, it may replace what is already there, or, if alpha blending is in use, the pixel's color<br />

may be replaced with a mixture of the fragment's color and the pixel's existing color, as in the case of drawing a<br />

translucent object.<br />

In general, a fragment can be thought of as the data needed to shade the pixel, plus the data needed to test whether<br />

the fragment survives to become a pixel (depth, alpha, stencil, scissor, window ID, etc.)<br />

References<br />

[1] The Drawing Primitives by Janne Saarela (http:/ / baikalweb. jinr. ru/ doc/ cern_doc/ asdoc/ gks_html3/ node28. html)

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

Saved successfully!

Ooh no, something went wrong!