A method and apparatus for compactly describing an image made up of concatenated lines or filled polygons. The drawing of lines for the image begins at an initial drawing point determined in a coordinate system defined by a unit screen and proceeds from point to point with the relative coordinates of each successive point specified as a positive or negative step in the horizontal and/or the vertical direction from the previous point. The step size parameters which separately define both the amount of a change in the horizontal direction and the amount of a change in the vertical direction are initially specified in fractional parts of the unit screen and remain constant in magnitude throughout the operation. The image is reflected about the horizontal axis and about the vertical axis simply by changing the sign of the step sizes. Turning on and off the drawing process is also facilitated.
A pattern data generating system comprises first and second bit map memories, a first control block for sequentially generating points corresponding to the boundaries of a closed curve in response to changes dx and dy along x and y directions, and writing the points in the first bit map memory, a second control block for sequentially generating points, which are required to paint an area enclosed by the closed curve, on the basis of the changes dx and dy, in accordance with a predetermined rule, and writing the points in the second bit map memory, a third control block for, if w (w is a positive integer) points b0, b1, . . . , b(w-2), and b(w-1) are present on a single scan line provided that one direction is set to be a scan direction on the second bit map memory, sequentially writing EXOR data of the points b0, b1, . . . , b(j-1) (j is not less than 0 and less than w) at positions corresponding to points b(j), and a fourth control block for obtaining pattern data by final filling or painting in which an arithmetic operation (e.g., logical OR or logical AND) of data of an arbitrary point in the first bit map memory with data of a corresponding point in the second bit map memory which stores the EXOR data is performed.
A high speed hidden surface processor capable of operating in real time and suitable for interaction with a computer-generated imagery or computer graphics system, whereby a realistic three-dimensional scene can be projected on a two-dimensional video display. The scene is formed by one or more polygons that are visible from an arbitrary viewpoint. The present hidden surface processor employs a hidden surface algorithm, such that certain polygons or portions of polygons, which polygons are obscured by other polygons lying closer to the viewpoint, are removed or truncated. Ordered linked lists of scan line data corresponding to the surfaces of the visible polygons are assembled and stored, so that the complete scene may be subsequently displayed with increased speed and minimized hardware implementation costs.
A graphics co-processor that is autonomously responsive to an instruction for the filling of a complex polygon, as defined by an enumeration of P vertices is described. The co-processor preferably includes a micro-engine sequencer and ALU (arithmetic logic unit) for selecting a first vertex from the enumeration of P vertices and for decomposing the complex polygon into a set of P-2 triangles, wherein each triangle includes the first vertex and to successive vertices as presented in the enumeration of P vertices is derived. A sense value is derived for each of the resultant P-2 triangles and each triangle is filled with a predetermined fill quantity that is qualified by the respectively associated sense value of the triangle being filled. Thus, the present invention provides for the autonomous execution of a fill polygon instruction for polygons having such complexities as concavities, self-intersections, overlapping sections and "holes".
A method for clipping fixed characters against one or more clipping boundaries for display in a graphics display system, includes the steps of: storing fixed characters to be displayed; defining a window in a first coordinate space against which said characters shall be clipped along one or more boundaries thereof; clipping an inverse character box for each fixed character to be displayed against said defined clipping window; and transforming said clipped character box defined in a first coordinate space to a character box defined in a second coordinate space for display on a graphics display system.
Vectors on a graphics display are styled according to a specifiable pattern of on/off segments at the same time that they are drawn on the display by integrating the styling of each pixel on the vector at the same time the location of that same pixel is determined according to Bresenham's algorithm.