Three-dimensional graphic controller
Abstract
A three-dimensional computer graphic controller comprises a resistor for receiving information about the triangle, a Y-coordinate counter for fetching the stored information from the resistor and computing Y-coordinates of the triangle, an X-coordinate initial position adder for fetching an information about the first edge of the triangle from the resistor and computing an X-coordinate value of an initial position of the first edge, an X-coordinate width adder for fetching the information about the divided upper and lower triangles and computing individual widths of the triangle on the X-coordinate as well as for changing a variation in width on the X-coordinate between the divided upper and lower triangles, a color component adder for fetching the information about the triangle and individually computing red, green and blue components of the color of the triangle, a frame memory controller for fetching the Y-coordinates, the X-coordinate value of the start position and the individual widths triangle on the X-coordinate to control storing the same into a frame memory, and a line buffer with a capacity corresponding to a line for fetching the red, green and blue components from the color component adder and storing the same.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A three-dimensional computer graphic controller provided in a three-dimensional computer graphic system utilizing a priority processing method, wherein a geometry-processed triangle is so set on an X-Y coordinate system that the geometry-processed triangle comprises a first vertex having a highest Y-coordinate value, a second vertex having a lowest Y-coordinate value, a third vertex having an intermediate Y-coordinate value between the highest and lowest Y-coordinate values of the first and second vertexes, a first edge including the first and second vertexes, a second edge including the second and third vertexes and a third edge including the first and third vertexes, before the geometry-processed triangle is divided by a line parallel to the X-coordinate and extending on the third vertex and across the first edge into a divided upper triangle and a divided lower triangle, said three-dimensional computer graphic controller comprises: a resistor for receiving information about the geometry-processed triangle and the divided upper and lower triangles and storing the same; a Y-coordinate counter coupled to the resistor for fetching the stored information about the geometry-processed triangle from the resistor and computing Y-coordinates of the triangle; an X-coordinate initial position adder coupled to the resistor for fetching an information about the first edge of the geometry-processed triangle from the resistor and computing an X-coordinate value of an initial position on the first edge of the triangle; an X-coordinate width adder coupled to the resistor for fetching the information about the divided upper and lower triangles from the resistor and computing individual widths of the divided upper and lower triangles on the X-coordinate as well as for changing a variation in width on the X-coordinate between the divided upper and lower triangles; a color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and individually computing red, green and blue components of the color of the geometry-processed triangle and the divided upper and lower triangles; a frame memory controller coupled to the Y-coordinate counter, the X-coordinate initial position adder and the X-coordinate width adder for fetching the Y-coordinates of the triangle from the Y-coordinate counter, the X-coordinate value of the start position from the X-coordinate initial position adder and the individual widths of the divided upper and lower triangles on the X-coordinate from the X-coordinate width adder so as to control storing the Y-coordinates of the triangle, the X-coordinate value of the start position and the individual widths of the divided upper and lower triangles on the X-coordinate into a frame memory coupled to the frame memory controller; and a line buffer with a capacity corresponding to a line and being coupled to the color component adder for fetching the red, green and blue components from the color component adder and storing the fetched red, green and blue components therein.
2. The three-dimensional computer graphic controller as claimed in claim 1, further comprising a line buffer controller coupled to the line buffer for controlling the line buffer.
3. The three-dimensional computer graphic controller as claimed in claim 1, further comprising a sequenser for controlling the resistor, the Y-coordinate counter, X-coordinate initial position adder, the X-coordinate width adder and the color component adder.
4. The three-dimensional computer graphic controller as claimed in claim 3, wherein the color component adder comprises: a red color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and computing a red component of the color of the geometry-processed triangle and the divided upper and lower triangles; a green color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and computing a green component of the color of the geometry-processed triangle and the divided upper and lower triangles; and a blue color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and computing a blue component of the color of the geometry-processed triangle and the divided upper and lower triangles.
5. The three-dimensional computer graphic controller as claimed in claim 3, wherein the X-coordinate initial position adder comprises: a latch circuit for holding a signal of an X-coordinate initial position of the first edge of the triangle; an adder having two input terminals, one of which is coupled to an output terminal of the latch circuit for receipt of an output signal of the X-coordinate initial position from the latch circuit whilst the other is coupled to the resistor for receiving signals of variations in initial position of the first edge of the triangle so that the adder performs operation of adding variations in initial position of the first edge into the X-coordinate initial position; and a selector having two input terminals, one of which is coupled to an output terminal of the adder for receipt of an added value of the X-coordinate initial position from the adder whilst the other is coupled to the resistor for receipt of an initial value of the X-coordinate initial position from the resistor so that the selector performs operation of selecting any of the added value and the initial value of the X-coordinate initial position as well as having an output terminal coupled to an input terminal of the latch circuit.
6. The three-dimensional computer graphic controller as claimed in claim 3, wherein the X-coordinate width adder comprise: a first selector having two input terminals coupled to the resistor for receipt of signals of variations in width on the X-coordinate of the divided upper and lower triangles so that the first selector performs operation of selecting any of the variations in width on the X-coordinate of the divided upper and lower triangles; a latch circuit for holding a signal of an X-coordinate initial position of the first edge of the triangle; an adder having two input terminals, one of which is coupled to an output terminal of the latch circuit for receipt of an output signal of the X-coordinate initial position from the latch circuit whilst the other is coupled to an output of the first selector for receiving selected one of the variations in width on the X-coordinate of the divided upper and lower triangles so that the adder performs operation of adding the selected one of the variations in width on the X-coordinate of the divided upper and lower triangles into the X-coordinate initial position; and a second selector having two input terminals, one of which is coupled to an output terminal of the adder for receipt of an added value of the X-coordinate initial position from the adder whilst the other is coupled to the resistor for receipt of an initial value of the X-coordinate initial position from the resistor so that the second selector performs operation of selecting any of the added value and the initial value of the X-coordinate initial position as well as having an output terminal coupled to an input terminal of the latch circuit.
7. The three-dimensional computer graphic controller as claimed in claim 3, wherein each of the red, green and blue color component adders comprises: a first latch circuit for holding a signal of a Y-coordinate initial position of the first edge of the triangle; a first adder having two input terminals, one of which is coupled to an output terminal of the first latch circuit for receipt of an output signal of the Y-coordinate initial position from the first latch circuit whilst the other is coupled to the resistor for receiving signal of variations in initial position of the first edge of the triangle ton the Y-coordinate so that the first adder performs operation of adding variations in initial position of the first edge on the Y-coordinate into the Y-coordinate initial position; a first selector having two input terminals, one of which is coupled to an output terminal of the first adder for receipt of an added value of the Y-coordinate initial position from the first adder whilst the other is coupled to the resistor for receipt of an initial value of the Y-coordinate initial position from the resistor so that the first selector performs operation of selecting any of the added value and the initial value of the Y-coordinate initial position as well as having an output terminal coupled to an input terminal of the first latch circuit; a second latch circuit for holding a signal of an X-coordinate initial position of the first edge of the triangle; a second adder having two input terminals, one of which is coupled to an output terminal of the second latch circuit for receipt of an output signal of the X-coordinate initial position from the second latch circuit whilst the other is coupled to the resistor for receiving signals of variations in initial position of the first edge of the triangle so that the second adder performs operation of adding variations in initial position of the first edge into the X-coordinate initial position; and a second selector having two input terminals, one of which is coupled to an output terminal of the second adder for receipt of an added value of the X-coordinate initial position from the adder whilst the other is coupled to the output terminal of the first selector for receipt of selected one of the added value and the initial value of the Y-coordinate initial position so that the second selector performs operation of selecting either the selected one of the added value and the initial value of the Y-coordinate initial position or the selected one of the added value and the initial value of the X-coordinate initial position as well as having an output terminal coupled to an input terminal of the second latch circuit.
8. The three-dimensional computer graphic controller as claimed in claim 1, wherein the resistor stores software-computed information comprising: the X-coordinate of the first vertex; the Y-coordinate of the first vertex; a width on the y-coordinate of the geometry-processed triangle; a width on a span including the first vertex; variations in X-coordinate of the first edge of the geometry-processed triangle; a Y-coordinate of the second vertex of the geometry-processed triangle; variations in width on the X-coordinate of the divided upper triangle; variations in width on the X-coordinate of the divided lower triangle; an initial value of the red component of the first vertex of the geometry-processed triangle; variations in the red component of points on the first edge of the geometry-processed triangle; variation in the red component of the geometry-processed triangle in an X-direction parallel to an X-coordinate axis, an initial value of the green component of the first vertex of the geometry-processed triangle; variations in the green component of points on the first edge of the geometry-processed triangle; variations in the green component of the geometry-processed triangle in the X-direction; an initial value of the blue component of the first vertex of the geometry-processed triangle; variations in the blue component of points on the first edge of the geometry-processed triangle; and variation in the blue component of the geometry-processed triangle in the X-direction.
9. A three-dimensional computer graphic controller provided in a three-dimensional computer graphic system utilizing a Z-buffer method, wherein a geometry-processed triangle is so set on an X-Y coordinate system that the geometry-processed triangle comprises a first vertex having a highest Y-coordinate value, a second vertex having a lowest Y-coordinate value, a third vertex having an intermediate Y-coordinate value between the highest and lowest Y-coordinate values of the first and second vertexes, a first edge including the first and second vertexes, a second edge including the second and third vertexes and a third edge including the first and third vertexes, before the geometry-processed triangle is divided by a line parallel to the X-coordinate and extending on the third vertex and across the first edge into a divided upper triangle and a divided lower triangle, the three-dimensional computer graphic controller comprising: a resistor for receiving information about the geometry-processed triangle and the divided upper and lower triangles and storing the same; a Y-coordinate counter coupled to the resistor for fetching the stored information about the geometry-processed triangle from the resistor and computing Y-coordinate of the triangle; an X-coordinate initial position adder coupled to the resistor for fetching an information about the first edge of the geometry-processed triangle from the resistor and computing an X-coordinate value of an initial position of the first edge of the triangle; an X-coordinate width adder coupled to the resistor for fetching the information about the divided upper and lower triangles from the resistor and computing individual widths of the divided upper and lower triangles on the X-coordinate as well as for changing a variation in width on the X-coordinate between the divided upper and lower triangles; a color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and individually computing red, green and blue components of the color of the geometry-processed triangle and the divided upper and lower triangles; a frame memory controller coupled to the Y-coordinate counter, the X-coordinate initial position adder and the X-coordinate width adder for fetching the Y-coordinates of the triangle from the Y-coordinate counter, the X-coordinate value of the start position from the X-coordinate initial position adder and the individual widths of the divided upper and lower triangles on the X-coordinate from the X-coordinate width adder so as to control storing the Y-coordinates of the triangle, the X-coordinate value of the start position and the individual widths of the divided upper and lower triangles on the X-coordinate into a frame memory coupled to the frame memory controller; a line buffer with a capacity corresponding to a line and being coupled to the color component adder for fetching the red, green and blue components from the color component adder and storing the fetched red, green and blue components therein; a Z-value adder coupled to said resistor for receipt of a Z-value of the first vertex of the geometry-processed triangle; variations in Z-value of points on the first edge of the geometry-processed triangle and variations in Z-value in an X-direction parallel to an X-coordinate axis and computing Z-values of an object; a Z-buffer having a capacity corresponding to one line and being coupled to the frame memory for fetching Z-buffer data from the frame memory and storing the Z-buffer data therein; a Z-buffer controller coupled to the Z-buffer for controlling the Z-buffer; a Z-comparator coupled to the Z-value adder and the Z-buffer for comparing the stored Z-buffer data with the computed Z-values of the object; and a mask buffer coupled via the Z-buffer controller and the Z-comparator to the Z-value adder and also coupled to the memory controller for storing one bit information to be supplied to the memory controller so that according to the one bit information the memory controller controls the frame memory to store the computed Z-values of the object when the computed Z-value from the Z-value adder is more distant from the viewpoint than the Z-buffer data stored in the Z-buffer.
10. The three-dimensional computer graphic controller as claimed in claim 9, further comprising a line buffer controller coupled to the line buffer for controlling the line buffer.
11. The three-dimensional computer graphic controller as claimed in claim 9, further comprising a sequenser for controlling the resistor, the Y-coordinate counter, X-coordinate initial position adder, the X-coordinate width adder, the color component adder, the Z-value adder, the memory controller and the Z-buffer controller.
12. The three-dimensional computer graphic controller as claimed in claim 11, wherein the color component adder comprises: a red color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and computing a red component of the color of the geometry-processed triangle and the divided upper and lower triangles; a green color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and computing a green component of the color of the geometry-processed triangle and the divided upper and lower triangles; and a blue color component adder coupled to the resistor for fetching the information about the geometry-processed triangle and the divided upper and lower triangles from the resistor and computing a blue component of the color of the geometry-processed triangle and the divided upper and lower triangles.
13. The three-dimensional computer graphic controller as claimed in claim 11, wherein the X-coordinate initial position adder comprises: a latch circuit for holding a signal of an X-coordinate initial position of the first edge of the triangle; an adder having two input terminals, one of which is coupled to an output terminal of the latch circuit for receipt of an output signal of the X-coordinate initial position from the latch circuit whilst the other is coupled to the resistor for receiving signals of variations in initial position of the first edge of the triangle so that the adder performs operation of adding variations in initial positison of the first edge into the X-coordinate initial position; and a selector having two input terminals, one of which is coupled to an output terminal of the adder for receipt of an added value of the X-coordinate initial position from the adder whilst the other is coupled to the resistor for receipt of an initial value of the X-coordinate initial position from the resistor so that the selector performs operation of selecting any of the added value and the initial value of the X-coordinate initial position as well as having an output terminal coupled to an input terminal of the latch circuit.
14. The three-dimensional computer graphic controller as claimed in claim 11, wherein the X-coordinate width adder comprise: a first selector having two input terminals coupled to the resistor for receipt of signal of variations in width on the X-coordinate of the divided upper and lower triangles so that the first selector performs operation of selecting any of the variations in width on the X-coordinate of the divided upper and lower triangles; a latch circuit for holding a signal of an X-coordinate initial position of the first edge of the triangle; an adder having two input terminals, one of which is coupled to an output terminal of the latch circuit for receipt of an output signal of the X-coordinate initial position from the latch circuit whilst the other is coupled to an output of the first selector for receiving selected one of the variations in width on the X-coordinate of the divided upper and lower triangles so that the adder performs operation of adding the selected one of the variations in width on the X-coordinate of the divided upper and lower triangles into the X-coordinate initial position; and a second selector having two input terminals, one of which is coupled to an output terminal of the adder for receipt of an added value of the X-coordinate initial position from the adder whilst the other is coupled to the resistor for receipt of an initial value of the X-coordinate initial position from the resistor so that the second selector performs operation of selecting any of the added value and the initial value of the X-coordinate initial position as well as having an output terminal coupled to an input terminal of the latch circuit.
15. The three-dimensional computer graphic controller as claimed in claim 11, wherein each of the red, green and blue color component adders comprises: a first latch circuit for holding a signal of a Y-coordinate initial position of the first edge of the triangle; a first adder having two input terminals, one of which is coupled to an output terminal of the first latch circuit for receipt of an output signal of the Y-coordinate initial position from the first latch circuit whilst the other is coupled to the resistor for receiving signals of variations in initial position of the first edge of the triangle on the Y-coordinate so that the first adder performs operation of adding variations in initial position of the first edge on the Y-coordinate into the Y-coordinate initial position; a first selector having two input terminals, one of which is coupled to an output terminal of the first adder for receipt of an added value of the Y-coordinate initial position from the first adder whilst the other is coupled to the resistor for receipt of an initial value of the Y-coordinate initial position from the resistor so that the first selector performs operation of selecting any of the added value and the initial value of the Y-coordinate initial position as well as having an output terminal coupled to an input terminal of the first latch circuit; a second latch circuit for holding a signal of an X-coordinate initial position of the first edge of the triangle; a second adder having two input terminals, one of which is coupled to an output terminal of the second latch circuit for receipt of an output signal of the X-coordinate initial position from the second latch circuit whilst the other is coupled to the resistor for receiving signals of variations in initial position of the first edge of the triangle so that the second adder performs operation of adding variations initial position of the first edge into the X-coordinate initial position; and a second selector having two input terminals, one of which is coupled to an output terminal of the second adder for receipt of an added value of the X-coordinate initial position from the adder whilst the other is coupled to the output terminal of the first selector for receipt of selected one of the added value and the initial value of the Y-coordinate initial position so that the second selector performs operation of selecting either the selected one of the added value and the initial value of the Y-coordinate initial position or the selected one of the added value and the initial value of the X-coordinate initial position as well as well as having an output terminal coupled to an input terminal of the second latch circuit.
16. The three-dimensional computer graphic controller as claimed in claim 9, wherein the resistor stores software-computed information comprising: the X-coordinate of the first vertex; the Y-coordinate of the first vertex; a width on the y-coordinate of the geometry-processed triangle; a width of a span including the first vertex; variations in X-coordinate of the first edge of the geometry-processed triangle; a Y-coordinate of the second vertex of the geometry-processed triangle; variations in width on the X-coordinate of the divided upper triangle; variations in width on the X-coordinate of the divided lower triangle; an initial value of the red component of the first vertex of the geometry-processed triangle; variation in the red component of points on the first edge of the geometry-processed triangle; variation in the red component of the geometry-processed triangle in an X-direction parallel to an X-coordinate axis; an initial value of the green component of the first vertex of the geometry-processed triangle; variations in the green component of points on the first edge of the geometry-processed triangle; variation in the green component of the geometry-processed triangle in the X-direction; an initial value of the blue component of the first vertex of the geometry-processed triangle; variation in the blue component of points on the first edge of the geometry-processed triangle; variation in the blue component of the geometry-processed triangle in the X-direction; the Z-value of the first vertex of the geometry-processed triangle; the variation in Z-value of the points on the first edge of the geometry-processed triangle and the variations in Z-value in the X-direction.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.