Patent ID: 6057848
Filing Date: 2000-05-02
Classification: G06T

Abstract:
A patch tessellation device for converting a Bezier surface patch having a set of control points to a plurality of triangles for display, wherein the patch tessellation device includes a corner unit configured to provide output coordinates and attributes for corner points of a subpatch, wherein the corner unit comprises:a vertex buffer configured to store spatial coordinates of two pairs of current corner points of a current surface patch, wherein the vertex buffer is further configured to receive spatial coordinates of two new corner points on respective patch edges between the pairs of current corner points during a patch subdivision operation;a projection unit coupled to receive the spatial coordinates of one pair of the two pairs of current corner points and the spatial coordinates of a corresponding one of the two new corner points, wherein the projection unit is configured to responsively calculate and store in the vertex buffer spatial coordinates of a projected corner point on a line between the one pair of current corner points only if the patch edge between the one pair of current corner points is classified as straight;a stack coupled to the vertex buffer and configured to store spatial coordinates of a first current corner point from each pair of current corner points after the patch subdivision operation;a multiplier coupled to the vertex buffer and configured to multiply spatial coordinates of the new corner points and a second current corner point from each pair of current corner points by X- and Y-coordinate scale factors to form scaled coordinates for said new and second current corner points if the subpatch having said new and second current corner points is classified as flat;an adder coupled to receive the scaled coordinates from the multiplier and configured to add X- and Y-coordinate translation factors to the scaled coordinates to form the output coordinates for said new and second current corner points; andan output buffer coupled to receive the output coordinates from the adder.