摘要:
A method and system for rendering a feature, such as a line, for display on an array of pixels. With this method, the line is identified on the pixel array, the line is expanded into a polygon, and color values are determined for the pixels within the polygon. Also, an antialiasing region is identified in the polygon, and blend values are computed for the pixels in this antialiasing region. Then, the color values determined for the pixels in the antialiasing region are modified as a function of these computed blend values. The pixels in the antialiasing region may then be shown at their modified color values, while the pixels that are in the polygon but not in the antialising region may be shown at their original determined color value. Preferably, the blend values for the pixels in the antialiasing region are calculated as a function of the locations of the pixels in that region. For example, the blend value for each of these pixels may be calculated as a function of four values, each one representing the Manhattan distance from the pixel to a respective one of the edges of the polygon. Also, preferably the antialiasing region has a uniform width, and this region extends inward from side edges and outward from end edges of the formed polygon.
摘要:
A rasterizer comprised of a bounding box calculator, a plane converter, a windower, and incrementers. For each polygon to be processed, a bounding box calculation is performed which determines the display screen area, in spans, that totally encloses the polygon and passes the data to the plane converter. The plane converter also receives as input attribute values for each vertex of the polygon. The plane converter computes planar coefficients for each attribute of the polygon, for each of the edges of the polygon. The plane converter unit computes the start pixel center location at a start span and a starting coefficient value at that pixel center. The computed coefficients also include the rate of change or gradient, for each polygon attribute in the x and y directions, respectively. The plane converter also computes line coefficients for each of the edges of the polygon. Line equation values are passed through to the windower where further calculations allow the windower to determine which spans are either covered or intersected by the polygon. The incrementers receive the span coverage data from the windower in addition to receiving planar coefficient values from the plane converter. The incrementers utilize the data from both the windower and plane converter to walk or traverse the polygon in those intersected spans, pixel by pixel. As the incrementer visits each pixel, vertex attribute values are interpolated to each pixel.
摘要:
The occurrence of an (n+m) input operand instruction that requires more than n of its input operands from an n-output data source is recognized by a programmable vertex shader (PVS) controller. In turn, the PVS controller provides at least two substitute instructions, neither of which requires more than n operands from the n output data source, to a PVS engine. A first of the substitute instructions is executed by the PVS engine to provide an intermediate result that is temporarily stored and used as an input to another of the at least two substitute instructions. In this manner, the present invention avoids the expense of additional or significantly modified memory. In one embodiment of the present invention, a pre-accumulator register internal to the PVS engine is used to store the intermediate result. In this manner, the present invention provides a relatively inexpensive solution for a relatively infrequent occurrence.
摘要:
A method and apparatus for clipping an object element include processing that begins by ascribing barycentric coordinates to each original vertices of an object-element wherein each barycentric coordinate is a weighting factor with respect to a corresponding original vertex. The processing continues by obtaining clipping distances for each original vertex with respect to a clipping plane. For a new vertex of an object-element that represents an intersection of an edge of the object-element with the clipping plane, the process continues by determining a barycentric coordinate for the new vertex. The determination of the new vertex is based on the barycentric coordinates of the original vertices defining the edge and the clipping distances. Having determined the barycentric coordinates for the new vertices corresponding to a clipping plane, the process is repeated for each of a plurality of other clipping planes that intersect the object-element. Once all of the clipping planes have been processed, the attributes for the resulting clipped object element are calculated based on the barycentric coordinates of the vertices defining the clipped object element and the attributes of the original vertices.
摘要:
A method and apparatus for parallel processing of geometric aspects of video graphics data include processing that begins by determining whether an object-element is within a clipped volume. The processing continues by determining whether the object-element is to be clipped when it is within the clipped volume. The processing then continues by performing in parallel, a clipping function and an attribute derivation function upon the object-element when the object-element is to be clipped. The attribute derivation function may include performing a light function, texture map function, etc.
摘要:
An apparatus for processing a non-planar graphics primitive employs an associated method of operation and includes a controller, at least one computation engine, memory and at least one lookup table. Responsive to operation codes issued by the controller, the computation engine(s) determines a group of control points based on the position coordinates and normal vectors of the non-planar primitive vertices. The computation engine(s) then determines position coordinates of supplemental vertices defining multiple planar tessellated primitives based on the control points and stored weighting factors that provide a cubic relation between the control points and the position coordinates of the supplemental vertices. A first memory stores at least the control points and at least one lookup table stores the cubic weighting factors. A second memory stores the position coordinates of the non-planar primitive vertices and the supplemental vertices of the planar primitives generated through tessellation for further graphics processing.
摘要:
A method and apparatus for processing graphics primitives that includes a trivial discard guard band. Such a trivial discard guard band is used for comparison operations with the vertices of graphics primitives to determine whether the graphics primitives can be trivially discarded such that no further processing of the primitives is performed. The trivial discard guard band may be based on the specific dimensions of primitives such as one-half of the width of the line primitives or the radial dimension of point primitives such that the rasterization area of such primitives is taken into account when trivial discard decisions are performed.
摘要:
A method and apparatus for determining attributes of an object-element using barycentric coordinates includes processing that begins by obtaining a barycentric coordinate for a vertex of an object-element. The object-element is clipped with respect to a clipping plane where a first component of the barycentric coordinate corresponds to a first original vertex of the object-element, a second component of the barycentric coordinate corresponds to a second original vertex of the object-element and a third component of the barycentric coordinate corresponds to a third vertex of the object-element. The processing continues by, for each non-zero component of the barycentric coordinate, determining whether at least one attribute of the corresponding vertex of the non-component is substantially similar. The processing continues by setting the at least one corresponding attribute of the vertex to substantially equal the attribute for the other vertex when the at least one attribute is substantially similar.
摘要:
A method and apparatus for determining a clipping distance of vertices of object-element with respect to a clipping plane include processing that begins by obtaining a clipping distance for each original vertex of an object-element with respect to the clipping plane. The processing then continues by obtaining a barycentric coordinate of the vertex of the object-element that represents of an intersection of an edge of the object-element with a previously processed clipping plane. The processing then continues by deriving a clipping distance from the vertex to the clipping plane based on the barycentric coordinate of the vertex and the clipping distance for each of the original vertices.