Patent ID: 6664960
Filing Date: 2003-12-16
Classification: G06T

Abstract:
An apparatus for processing a non-planar video graphics primitive, the non-planar video graphics primitive being defined by a plurality of vertices, each of the plurality of vertices having associated position coordinates and normal vectors, the apparatus comprising:a controller for issuing operation codes associated with tessellating the non-planar video graphics primitive into a plurality of planar graphics primitives based on a tessellation level, each operation code including an instruction, and at least some of the operation codes including at least one source address and at least one destination address; at least one computation engine, operably coupled to an output of the controller, for determining, in response to a first series of operation codes issued by the controller, a group of control points based on the position coordinates and the normal vectors of the plurality of vertices and for determining, in response to a second series of operation codes issued by the controller, position coordinates of a plurality of supplemental vertices defining the plurality of planar graphics primitives based on the group of control points and a plurality of weighting factors that provide a cubic relation between the control points and the position coordinates of the plurality of supplemental vertices; a first memory, operably coupled to an input and an output of the at least one computation engine, for storing at least the group of control points, the first memory being a destination address for at least some of the first series of operation codes and being a source address for at least some of the second series of operation codes; at least one lookup table, operably coupled to the input of the at least one computation engine, for storing the plurality of weighting factors, the at least one lookup table being a source address for at least some of the second series of operation codes; and a second memory, operably coupled to the output of the at least one computation engine, for storing the position coordinates of the plurality of vertices and the position coordinates of the plurality of supplemental vertices.