Parallel surface processing system for graphics display
First Claim
1. A method for generating surface information for a graphics object to be displayed on a graphics display system, comprising the steps of:
- providing input control points from storage, said control points representing a surface to be processed by a transformation processor that further comprises a plurality of floating point processors connected in parallel, said input control points including coordinate values and associated weights;
processing in parallel, in said transformation processor, said input control points to incrementally generate a plurality of surface patches;
performing geometric transform computations, in parallel, on said input control points to derive one transformed coordinate for each vertex of said surface patch from each one of said plurality of floating point processors making up said transformation processor; and
providing said transformed coordinates to a next stage floating point processor for generating vectors normal to said surface patches at the vertices of said surface patches.
1 Assignment
0 Petitions
Accused Products
Abstract
A Pipeline and Parallel Processing system for generating Surface Patches for both Wireframe and Solid/Shaded Models in a Raster Graphics Display. The inputs to a Transformation Processor are the parameters for the Rational Bezier Surfaces: a 2-dimensional array of control points, and weights. The outputs are the coordinates of the corner points and the normals (to the surface) of the patches, which make up the surface. The system consists of three Pipeline stages: (1) A front-end processor fetches the data from memory and feeds the Transformation Processor; (2) four Floating Point Processors in Parallel for tessellating the surfaces into small patches; and (3) one Floating Point Processor for generating normals at the vertices of the small patches. The output is sent to the rest of the Graphics System for clipping, mapping, and shading.
67 Citations
8 Claims
-
1. A method for generating surface information for a graphics object to be displayed on a graphics display system, comprising the steps of:
-
providing input control points from storage, said control points representing a surface to be processed by a transformation processor that further comprises a plurality of floating point processors connected in parallel, said input control points including coordinate values and associated weights; processing in parallel, in said transformation processor, said input control points to incrementally generate a plurality of surface patches; performing geometric transform computations, in parallel, on said input control points to derive one transformed coordinate for each vertex of said surface patch from each one of said plurality of floating point processors making up said transformation processor; and providing said transformed coordinates to a next stage floating point processor for generating vectors normal to said surface patches at the vertices of said surface patches. - View Dependent Claims (2)
-
-
3. A method for generating surface information for a graphics object to be displayed on a graphics display system, comprising the steps of:
-
providing data representing spline surface control points; storing said data representing spline surface control points in data storage means; transferring a portion of said surface control point data from said data storage means to a graphics display workstation having a parallel processor system; and generating in said graphics display workstation, using said parallel processor system, polygon data corresponding to said surface, said generating step comprising the steps of; providing from said data storage means spline surface control point data that represents a surface to be processed to a transformation processor that further comprises a plurality of floating point processors connected in parallel; processing in parallel, in said transformation processor, said data to incrementally generate a plurality fo surface patches and vertex data representing said patches; and providing said data representing said patches to a next stage floating point processor for generating vectors normal to the vertices of said surface patches. - View Dependent Claims (4, 5)
-
-
6. A method for generating a rational Bezier surface patch for display on a graphics display system, wherein the rational Bezier surface patch is defined by control points and weight values associated with each of said control points, and by first and second boundary values, the method comprising the steps of:
-
storing said control points and said associated weight values in a data storage means; selecting a first index value; transmitting said control points and associated weight values to a plurality of floating point processors; incrementally generating surface patches representing said Bezier surface in said plurality of processors as a function of said first index value and a second index value by; assigning one of a plurality of floating point processors to transform and incrementally generate one coordinate of a vertex of each surface patch; in each of said assigned floating point processors; transforming said control points; repeatedly generating a vertex coordinate as a function of said first index value and a second index value and; incrementing said second index value until said second boundary value is reached; generating a vector normal to each of said surface patches in a next stage floating point processor; incrementing a first index value and generating control points and associated weights based upon said incremented first index; and repeating said steps of transmitting, incrementally generating, generating a vector and incrementing until said first index value exceeds said first boundary value.
-
-
7. An apparatus for generation a rational Bezier surface for display on a graphics display system, said apparatus comprising:
-
data means for providing data representative of said rational Bezier surface; memory means for retaining said data representative of said rational Bezier surface; first processor means connected to said memory means for accessing said data and processing said data to generate control points of a surface patch representing a portion of said Bezier surface; a plurality of floating point processors connected to said first processing means and operating in parallel whereby each of said floating point processors transforms selected ones of said control points and generates one coordinate of each vertex of said surface patch; second processor means connected to said plurality of floating point processors for accepting said vertex data and for calculating a vector normal to said surface patch; and third processor means for processing said surface patch and normal data to create a graphics object on said graphics display system. - View Dependent Claims (8)
-
Specification