Processor for the elimination of concealed faces for the synthesis of images in three dimensions
First Claim
1. An image processor for processing a three-dimensional representation of an object to determine two-dimensional representation parameters to permit displaying an image of the represented object on a display screen, said image processor comprising:
- means for inputting a plurality of sets of parameters each set corresponding to a single polygon in a plurality of polygons which represent said three-dimensional object at a predetermined angle of observation, each set of parameters defining a set of line segments which constitute the intersection of each polygon with a plurality of planes perpendicular to a plane of visualization through each line of visualization on the display screen, the plane of visualization corresponding to the plane of the display screen and the line of visualization corresponding to a line of visual elements on the display screen; and
means for determining the parameters of a plurality of visual elements in a line of visualization comprising means for simultaneously determining the parameters of a plurality of line segments and means for serially processing each parameter in a set of parameters, said serial processing being of the pipeline type, and for selecting and storing the parameters of line segments closest to the plane of visualization.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor of images of objects described in three dimensions for determining parameters of pixels on a display screen. The processor possesses inputs for parameters of convex polygons describing the objects in a frame of visualization and determines from the parameters of the polygons the parameters of the pixels of a transformed two-dimensional image of that object. In order to eliminate concealed faces of objects displayed on the screen from a perspective view, the processor selects and stores the parameters of all the elements of the transformed image which are closest to the plane of visualization (the display screen). The image processor is noteworthy in that it serially processes, by pipeline organization, the parameters of a set of segments which constitute the intersections of the set of polygons with each line of visualization of the visual display device, a plurality of segments being processed simultaneously. The parameters of the segments being obtained by previous conversion of the parameters of the polygons. The processor comprises n blocks, each allocated to the serial processing of the pipeline type of the parameters of one of the n pixels of a line of visualization, each block comprising: a decrementor, a validation element and a basic cell which receives and stores parameters of depth and of color and determines new ones, and which then transmits color parameters to a visual display device. According to a further variant, the image processor also includes a circuit for the conversion of the parameters of polygons into parameters of segments.
-
Citations
12 Claims
-
1. An image processor for processing a three-dimensional representation of an object to determine two-dimensional representation parameters to permit displaying an image of the represented object on a display screen, said image processor comprising:
-
means for inputting a plurality of sets of parameters each set corresponding to a single polygon in a plurality of polygons which represent said three-dimensional object at a predetermined angle of observation, each set of parameters defining a set of line segments which constitute the intersection of each polygon with a plurality of planes perpendicular to a plane of visualization through each line of visualization on the display screen, the plane of visualization corresponding to the plane of the display screen and the line of visualization corresponding to a line of visual elements on the display screen; and means for determining the parameters of a plurality of visual elements in a line of visualization comprising means for simultaneously determining the parameters of a plurality of line segments and means for serially processing each parameter in a set of parameters, said serial processing being of the pipeline type, and for selecting and storing the parameters of line segments closest to the plane of visualization. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An image processor for processing a three-dimensional representation of an object to determine two-dimensional representation parameters to permit displaying an image of the represented object on a display screen, said image processor comprising:
-
means for inputting parameters of each polygon in a set of polygons describing a three-dimensional object; converting means for converting the parameters of each polygon into parameters of segments which segments constitute the intersection of each polygon with a plurality of planes perpendicular to the plane of visualization through each line of visualization of the visual display device; and means for simultaneously determining the parameters of a plurality of visual elements in a line of visualization, and serial processing means for serially processing each parameter in a set of parameters, said serial processing being of the pipeline type, and for selecting and storing the parameters of line segments closest to the plane of visualization. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A circuit for the conversion of parameters of polygons into parameters of segments for a processor of images of objects described in three dimensions, the conversion circuit comprising:
-
an entry register for receiving the parameter of m polygons Pm supplied to the image processor in the form of coordinates and attributes of apices and of parameters of edges of the polygons; a circulating store for storing the parameters of the polygons intersected by a plane perpendicular to a plane of visualization through the line of visualization under consideration; a first adder for receiving at one input the output from the entry register and at another input the output from the circulating store, the circulating store having its input connected to the output of the adder; and a sequencer for controlling the reading of the parameters of the m polygons Pm from the image store, comprising; an address register containing the addresses for addressing the polygons into the image store during the course of processing; an entry stack storing the addresses of the parameters of the polygons to be input; a second adder for incrementing the address supplied by the output of the address register and supplying incremented addresses, some of which serve for addressing the image store; a multiplexer having an input for receiving said incremented addresses and which selects these imcremented addresses or new addresses contained in the entry stack in order to replace by a new polygon a polygon which has ceased to be intersected by the perpendicular plane through the line of visualization under consideration; and a test and command circuit for controlling the sequencer and the result emanating from the adder, and for supplying command signals, when the coordinates of the extremities of the edges have been reached, to the circulating store, to the entry register and to the sequencer.
-
-
12. A method for determining the parameters of visual elements on a display screen for a transformed image of an object, comprising:
-
supplying the parameters of a set of polygons representing an object; converting the parameters of the polygons into a set of segments constituted by the intersections of the set of polygons with a pluraity of planes perpendicular to the plane of visualization of the display device each through a line of visualization of the display device; supplying the segments to a serial processing means for serial processing of a plurality of segments, the serial processing means having n blocks corresponding to n visual elements of a line of visualization of a display device and being of the pipeline type, the segments being supplied to the serial processing means in the form of coordinates of extremities XM0, XN0, depth and depth increments coordinates Z0 and dZ0, and attribute and attribute increments parameters C0 and dC0 relating to each segment; operating the serial processing means on a sequence of periods of base T, each comprising units of time u, generated by a clock, such that T=a·
u (where a is an integer, the length of the word);for each block k (with 1≦
k≦
n) of said n blocks of said serial processing means;initializing the content of two stores MT and MP with the maximum values ZT and Zck which they can contain; inputting successively the coordinates XMk-1, XNk-1 of the extremities of a set of segments in series into a decrementor which subtracts from each unit of time u a binary unit at the coordinate XMk-1 and at the coordinate XNk-1 of each segment; storing the signs of the results SMk, SNk of the coordinates XMk, XNk obtained after these decrementations are stored; determining a signal FLk =SMk ·
SNk ;when the signal FLk =1, inputting the depth coordinate and increment Zk-1 and dZk-1 and the attribute parameter and increment Ck-1 and dCk-1 into a basic cell of the block which determines a value Zk and a value Ck such that;
##EQU10## loading into the store MT the value Zk-1 in order that ZT=Zk-1 ;
commencing with the least significant bit, for each unit of time u, comparing each binary element of the value Zk-1 with each binary element of the value Zck contained in the store MP, and generating a comparison signals UPDk such that UPDk =1 if Zk-1 <
Zck, and determining a signal CNk =FLk ·
UPDk ;when CNk =1, replacing the value Zck by the value ZT=Zk-1 in the courese of the period T, and inputting the value Ck-1 into an attribute register, when CNk =0, circulating the data Zck from the output of the store MP to the input of the same store during a cycle of duration T; simultaneously carrying out these same steps for the n successive blocks in such a manner that a given block k receives its data from the preceding block (k-1) and transmits them to the subsequent block (k+1), each block effecting at a given instant, according to a pipeline procedure; the determination of the values XM0, XN0 during cycle Tr ; the determination and storage of the data Z relating to previous cycle Tr-1 ; the determination and the storage of the data C relating to preceding cycle Tr-2 ; and updating of the Z value refreshed; and when all the segments have been completely explored, applying all the data Ck emerging from the k blocks to an output bus over a certain number of cycles T determined by the number of segments included in the line of visualization under consideration.
-
Specification