Patent US5457779A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5457779A Expired / Lapsed US ⏱️ 0.0 years remaining

System for accessing graphic data in a SIMD processing environment

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1993-01-15
•
Granted: 1995-10-10
•
Expires: 2013-01-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An electronic logic and computer implemented apparatus and method for accessing graphic geometric data within a computer display system utilizing an SIMD environment. The present invention spreads the vertex data structure of geometric primitives across multiple memories allowing much higher bandwidth access into the data structure for greater performance. The present invention eliminates branches from the processing of triangle and quadrilateral primitives allowing full utilization of SIMD processors. The present invention utilizes an indirection circuit and software to control the order of coupling of these memory units to the inputs of specialized graphic processors. Therefore, the indirection mechanism allows a geometric data structure to be spread across multiple memories in a multi-memory/multi-bus environment with indirection across these multiple busses and memories. The present invention provides full utilization of a SIMD processor processing triangles or quadrilaterals and performs splitting of quads and ordering of triangle vertices in hardware.

Inventors

  • 👤 Chandlee B. Harrell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 16:27
CPC Classifications
G; G06; G06T; G06T15/00; G06T15/50; G06T15/80

Claims Analysis

Total Claims: 46
Claim 1
Independent Claim 169 words
In a computer graphics system including display means for displaying computer generated images and first memory means for storage of information representing geometric primitives, an apparatus for rendering said geometric primitives onto said display means, said apparatus comprising: a plurality of processor means each for simultaneously processing a separate geometric primitive and each for generating a first set of parameters associated with said separate geometric primitive, said plurality of processor means coupled to a common instruction bus, wherein said plurality of processor means are coupled utilizing SIMD architecture, each processor means further comprising: a plurality of memory means for storing information representing said geometric primitive wherein information associated with each vertex of said geometric primitive is stored in a separate memory means; mathematical processing means for processing said information representing said geometric primitive in a single predetermined vertex ordering; and multiplexing means coupled to said plurality of memory means and coupled to said mathematical processing means for providing said information representing said geometric primitive in said predetermined vertex ordering.
Claim 2
Dependent Claim 169 words
In a computer graphics system including display means for displaying computer generated images and first memory means for storage of information representing geometric primitives, an apparatus for rendering said geometric primitives onto said display means, said apparatus comprising: a plurality of processor means each for simultaneously processing a separate geometric primitive and each for generating a first set of parameters associated with said separate geometric primitive, said plurality of processor means coupled to a common instruction bus, wherein said plurality of processor means are coupled utilizing SIMD architecture, each processor means further comprising: a plurality of memory means for storing information representing said geometric primitive wherein information associated with each vertex of said geometric primitive is stored in a separate memory means; mathematical processing means for processing said information representing said geometric primitive in a single predetermined vertex ordering; and multiplexing means coupled to said plurality of memory means and coupled to said mathematical processing means for providing said information representing said geometric primitive in said predetermined vertex ordering.
Claim 3
Dependent Claim 69 words
An apparatus for rendering geometric primitives onto said display means as described in claim 1 further comprising scan conversion means for accessing said first set of parameters associated with said geometric primitive for said each processor means and generating therefrom a pixel pattern representative of said geometric primitive for said each processor means, said scan conversion means coupled to said each processor means and coupled to said display means.
Claim 4
Dependent Claim 25 words
An apparatus for rendering geometric primitives onto said display means as described in claim 1 wherein said plurality of processor means comprise four processor means.
Claim 5
Dependent Claim 36 words
An apparatus for rendering geometric primitives onto said display means as described in claim 1 wherein said comparisons of parameters associated with said vertices comprise comparisons of screen coordinate values associated with each of said vertices.
Claim 6
Dependent Claim 104 words
An apparatus for rendering geometric primitives onto said display means as described in claim 5 further comprising: geometric primitive splitting means for splitting a geometric primitive into first and second geometric primitives and for indicating a split direction; and combination means for generating select signals to instruct said multiplexing means to couple said plurality of memory means to said mathematical processing means to realize said predetermined vertex ordering for said first geometric primitive or said second geometric primitive based on said intermediary vertex ordering and said split direction, said combination means communicatively coupled to said multiplexing means and to said vertex order determining means.
Claim 7
Dependent Claim 25 words
An apparatus for rendering geometric primitives onto said display means as described in claim 5 wherein said first and said second geometric primitive are triangles.
Claim 8
Dependent Claim 42 words
An apparatus for rendering geometric primitives onto said display means as described in claim 5 wherein said vertex order determining means operates on a triangle primitive and said geometric primitive splitting means operates on a quadrilateral primitive to form two triangle primitives.
Claim 9
Dependent Claim 207 words
In a computer system for rendering geometric primitives onto a display means, an apparatus for providing information representing a geometric primitive to a circuit in a predetermined vertex ordering, said circuit coupled to a plurality of signal lines, said apparatus integrated within a SIMD processor and comprising: a plurality of memory means for storing said information representing said geometric primitive, each of said memory means for storing information associated with a separate vertex of said geometric primitive and each of said memory means having an associated separate output for coupling to an individual signal line of said plurality of signal lines; multiplexing means coupled to said plurality of memory means for intercoupling each output of said plurality of memory means to an individual signal line of said plurality of signal lines to provide said information representing said geometric primitive in said predetermined vertex ordering; and vertex order determining means for determining said predetermined vertex ordering of said geometric primitive and generating output pointers indicative of said predetermined vertex ordering, said vertex order determining means also coupled to receive comparison signals indicating results of comparisons of parameters associated with pairs of said vertices of said geometric primitive, said vertex order determining means communicatively coupled to said multiplexing means.
Claim 10
Dependent Claim 207 words
In a computer system for rendering geometric primitives onto a display means, an apparatus for providing information representing a geometric primitive to a circuit in a predetermined vertex ordering, said circuit coupled to a plurality of signal lines, said apparatus integrated within a SIMD processor and comprising: a plurality of memory means for storing said information representing said geometric primitive, each of said memory means for storing information associated with a separate vertex of said geometric primitive and each of said memory means having an associated separate output for coupling to an individual signal line of said plurality of signal lines; multiplexing means coupled to said plurality of memory means for intercoupling each output of said plurality of memory means to an individual signal line of said plurality of signal lines to provide said information representing said geometric primitive in said predetermined vertex ordering; and vertex order determining means for determining said predetermined vertex ordering of said geometric primitive and generating output pointers indicative of said predetermined vertex ordering, said vertex order determining means also coupled to receive comparison signals indicating results of comparisons of parameters associated with pairs of said vertices of said geometric primitive, said vertex order determining means communicatively coupled to said multiplexing means.
Claim 11
Dependent Claim 29 words
An apparatus for providing information representing a geometric primitive in a predetermined vertex ordering as described in claim 8 further comprising mathematical processing means for supplying said comparison signals.
Claim 12
Dependent Claim 50 words
An apparatus for providing information representing a geometric primitive in a predetermined vertex ordering as described in claim 8 wherein said geometric primitive is a triangle primitive having three vertices and wherein said predetermined vertex ordering is based on screen coordinate values associated with each vertex of said three vertices.
Claim 13
Dependent Claim 210 words
In a computer graphics system including a plurality of SIMD processors, each of said SIMD processors having a slope generator for generating a slope for each edge of a geometric primitive, an apparatus within each SIMD processor receiving results of comparisons of screen coordinate values and said apparatus for providing said slope generator with a data structure of said geometric primitive in a predetermined vertex ordering, said apparatus comprising: a plurality of memory means for storing a data structure of said geometric primitive, each of said memory means for storing information associated with a different vertex of said geometric primitive; multiplexing means coupled to said plurality of memory means and also coupled to a plurality of inputs to said slope generator for coupling a particular memory means to a particular input of said graphic processor to provide said data structure of said geometric primitive in said predetermined vertex ordering; and a first state machine for determining said predetermined vertex ordering of said geometric primitive and generating output pointers indicative of said predetermined vertex ordering to said multiplexing means, said first state machine communicatively coupled to said multiplexing means and also coupled to receive said results of comparisons of screen coordinate values associated with pairs of vertices of said geometric primitive.
Claim 14
Dependent Claim 210 words
In a computer graphics system including a plurality of SIMD processors, each of said SIMD processors having a slope generator for generating a slope for each edge of a geometric primitive, an apparatus within each SIMD processor receiving results of comparisons of screen coordinate values and said apparatus for providing said slope generator with a data structure of said geometric primitive in a predetermined vertex ordering, said apparatus comprising: a plurality of memory means for storing a data structure of said geometric primitive, each of said memory means for storing information associated with a different vertex of said geometric primitive; multiplexing means coupled to said plurality of memory means and also coupled to a plurality of inputs to said slope generator for coupling a particular memory means to a particular input of said graphic processor to provide said data structure of said geometric primitive in said predetermined vertex ordering; and a first state machine for determining said predetermined vertex ordering of said geometric primitive and generating output pointers indicative of said predetermined vertex ordering to said multiplexing means, said first state machine communicatively coupled to said multiplexing means and also coupled to receive said results of comparisons of screen coordinate values associated with pairs of vertices of said geometric primitive.
Claim 15
Dependent Claim 33 words
An apparatus for providing said slope generator with said data structure of said geometric primitive in a predetermined vertex ordering as described in claim 11 wherein said geometric primitive is a triangle primitive.
Claim 16
Dependent Claim 58 words
An apparatus for providing said slope generator with said data structure of said geometric primitive in a predetermined vertex ordering as described in claim 12 further comprising scan conversion logic for accessing slopes generated by said slope generator and for generating therefrom a pixel pattern representing said triangle primitive, said scan conversion logic coupled to each SIMD processor.
Claim 17
Dependent Claim 61 words
An indirection apparatus for providing said slope generator with said data structure of said geometric primitive in a predetermined vertex ordering as described in claim 12 further comprising a second state machine for splitting a quadrilateral primitive into a first and a second triangle primitive, said second state machine coupled to said slope generator and communicatively coupled to said multiplexing means.
Claim 18
Dependent Claim 75 words
An indirection apparatus for providing said slope generator with said data structure of said geometric primitive in a predetermined vertex ordering as described in claim 14 wherein said plurality of memory means is four memory means and wherein said second state machine indicates a set of three memory means associated with said first or said second triangle and wherein said first state machine indicates said predetermined vertex ordering of said set of three memory means.
Claim 19
Dependent Claim 211 words
In a computer graphics system including a display means for displaying computer generated images and a first memory means for storage of data structures representing geometric primitives, a method for providing a data structure representing a geometric primitive according to a predetermined vertex order, said method being simultaneously executed Within a plurality of SIMD processors and comprising the steps of: obtaining said data structure representing said geometric primitive from said first memory means; storing said data structure into a plurality of memory units so that each of said memory units stores information associated with a separate vertex of said geometric primitive wherein each memory unit has a separate output port; and individually coupling any output port of said memory units to a different input of a mathematical unit over a signal line associated with said input to present said data structure to said mathematical unit in said predetermined vertex ordering, wherein said step of individually coupling further comprises the steps of: performing comparisons of parameters associated with pairs of vertices of said geometric primitive within said mathematical unit; determining a vertex ordering of said geometric primitive based on said comparisons; and generating output pointers indicative of said vertex ordering that direct said coupling of said memory units to said mathematical unit.
Claim 20
Dependent Claim 211 words
In a computer graphics system including a display means for displaying computer generated images and a first memory means for storage of data structures representing geometric primitives, a method for providing a data structure representing a geometric primitive according to a predetermined vertex order, said method being simultaneously executed Within a plurality of SIMD processors and comprising the steps of: obtaining said data structure representing said geometric primitive from said first memory means; storing said data structure into a plurality of memory units so that each of said memory units stores information associated with a separate vertex of said geometric primitive wherein each memory unit has a separate output port; and individually coupling any output port of said memory units to a different input of a mathematical unit over a signal line associated with said input to present said data structure to said mathematical unit in said predetermined vertex ordering, wherein said step of individually coupling further comprises the steps of: performing comparisons of parameters associated with pairs of vertices of said geometric primitive within said mathematical unit; determining a vertex ordering of said geometric primitive based on said comparisons; and generating output pointers indicative of said vertex ordering that direct said coupling of said memory units to said mathematical unit.
Claim 21
Dependent Claim 55 words
A method for providing a data structure representing a geometric primitive according to a predetermined vertex order as described in claim 16 wherein said parameters associated with said pairs of vertices are screen coordinate values; wherein said predetermined vertex ordering is based on said screen coordinate values; and wherein said geometric primitive is a triangle.
Claim 22
Dependent Claim 123 words
In a computer graphics system including a plurality of SIMD processors and a plurality of geometric primitives, a method for providing data structures representing geometric primitives in a predetermined vertex ordering, said method comprising the steps of: obtaining a data structure representing a geometric primitive; storing said data structure into a plurality of separately addressable memory units so that each of said separately addressable memory units stores information associated with a separate vertex of said geometric primitive; individually coupling any of said separately addressable memory units to a different input of a mathematical unit to present said data structure to said mathematical unit in said predetermined vertex ordering; and simultaneously performing the above steps for each processor of said plurality of SIMD processors.
Claim 23
Dependent Claim 123 words
In a computer graphics system including a plurality of SIMD processors and a plurality of geometric primitives, a method for providing data structures representing geometric primitives in a predetermined vertex ordering, said method comprising the steps of: obtaining a data structure representing a geometric primitive; storing said data structure into a plurality of separately addressable memory units so that each of said separately addressable memory units stores information associated with a separate vertex of said geometric primitive; individually coupling any of said separately addressable memory units to a different input of a mathematical unit to present said data structure to said mathematical unit in said predetermined vertex ordering; and simultaneously performing the above steps for each processor of said plurality of SIMD processors.
Claim 24
Dependent Claim 92 words
A method for providing data structures representing geometric primitives in a predetermined vertex ordering as described in claim 18 wherein said geometric primitive is a triangle and wherein said step of individually coupling further comprises the steps of: performing comparisons of screen coordinate values associated with pairs of vertices of said triangle primitive within said mathematical unit; determining a vertex ordering of said triangle primitive based on said comparisons; and generating output pointers indicative of said vertex ordering that direct said coupling of said separately addressable memory units to said mathematical unit.
Claim 25
Dependent Claim 142 words
In a computer graphics display system including a plurality of processors wherein said plurality of processors are coupled utilizing SIMD architecture and share a common instruction bus, a method simultaneously performed by each processor of said plurality of processors for rendering geometric primitives represented by data structures, said method comprising the steps of: storing a data structure representing a geometric primitive into a plurality of memory units so that parameters associated with each vertex of said geometric primitive are stored in a separate memory means; presenting said data structure of said geometric primitive to a mathematical unit in a predetermined vertex ordering by individually coupling any of said memory units to a different input of said mathematical unit multiplexing; and generating a set of output values associated with said geometric primitive based on said data structure presented in said predetermined vertex ordering.
Claim 26
Dependent Claim 142 words
In a computer graphics display system including a plurality of processors wherein said plurality of processors are coupled utilizing SIMD architecture and share a common instruction bus, a method simultaneously performed by each processor of said plurality of processors for rendering geometric primitives represented by data structures, said method comprising the steps of: storing a data structure representing a geometric primitive into a plurality of memory units so that parameters associated with each vertex of said geometric primitive are stored in a separate memory means; presenting said data structure of said geometric primitive to a mathematical unit in a predetermined vertex ordering by individually coupling any of said memory units to a different input of said mathematical unit multiplexing; and generating a set of output values associated with said geometric primitive based on said data structure presented in said predetermined vertex ordering.
Claim 27
Dependent Claim 58 words
A method for rendering geometric primitives represented by data structures described in claim 20 further comprising the steps of: accessing said output values associated with each geometric primitive of each processor; generating pixel patterns representative of each geometric primitive based on said output values associated with each geometric primitive; and displaying said pixel patterns on a display means.
Claim 28
Dependent Claim 32 words
A method for rendering geometric primitives represented by data structures described in claim 20 wherein said output values associated with said geometric primitive comprise slopes for each edge of said geometric primitive.
Claim 29
Dependent Claim 84 words
A method for rendering geometric primitives represented by data structures described in claim 20 wherein said step of presenting said data structure further comprises the steps of: performing comparisons of screen coordinate values associated with pairs of vertices of said geometric primitive; determining a vertex ordering of said geometric primitive based on said comparisons, said step of determining performed by a first state machine; and generating output pointers indicative of said vertex ordering determined, said step of generating performed by said first state machine.
Claim 30
Dependent Claim 89 words
A method for rendering geometric primitives represented by data structures described in claim 20 further comprising the steps of: performing a dot product comparison of a dot product of a pair of opposing vertices of a quadrilateral primitive to a dot product of other opposing vertices of said quadrilateral primitive splitting a quadrilateral primitive into a first and a second geometric primitive based on said comparison, said step of splitting a quadrilateral performed within a second state machine; and selecting said first or said second geometric primitive for rendering.
Claim 31
Dependent Claim 25 words
A method for rendering geometric primitives represented by data structures described in claim 24 wherein said first and said second geometric subprimitives are triangle primitives.
Claim 32
Dependent Claim 222 words
In a computer graphics display system including a plurality of processors coupled together utilizing SIMD architecture and sharing a common instruction bus, a method simultaneously performed by each processor of said plurality of processors for rendering quadrilateral primitives represented by data structures, said data structure comprising four vertices and parameters associated with each vertex, said method comprising the steps of: storing a data structure representing a quadrilateral primitive into four memory units so that parameters associated with a separate vertex of said quadrilateral primitive are stored in a designated memory unit of said four memory units; performing a dot product comparison of a dot product of a pair of opposing vertices of a quadrilateral primitive to a dot product of other opposing vertices of said quadrilateral primitive splitting a quadrilateral primitive into a first and a second triangle primitive based on said comparison, said step of splitting a quadrilateral performed within a quadrilateral state machine; presenting a data structure of said first or said second triangle primitive to a mathematical unit in a predetermined vertex ordering by individually coupling any of three of said four memory units to a different input of said mathematical unit; and generating a set of output values associated with said first or said second triangle primitive based on said data structure presented in said predetermined vertex ordering.
Claim 33
Dependent Claim 222 words
In a computer graphics display system including a plurality of processors coupled together utilizing SIMD architecture and sharing a common instruction bus, a method simultaneously performed by each processor of said plurality of processors for rendering quadrilateral primitives represented by data structures, said data structure comprising four vertices and parameters associated with each vertex, said method comprising the steps of: storing a data structure representing a quadrilateral primitive into four memory units so that parameters associated with a separate vertex of said quadrilateral primitive are stored in a designated memory unit of said four memory units; performing a dot product comparison of a dot product of a pair of opposing vertices of a quadrilateral primitive to a dot product of other opposing vertices of said quadrilateral primitive splitting a quadrilateral primitive into a first and a second triangle primitive based on said comparison, said step of splitting a quadrilateral performed within a quadrilateral state machine; presenting a data structure of said first or said second triangle primitive to a mathematical unit in a predetermined vertex ordering by individually coupling any of three of said four memory units to a different input of said mathematical unit; and generating a set of output values associated with said first or said second triangle primitive based on said data structure presented in said predetermined vertex ordering.
Claim 34
Dependent Claim 60 words
A method for rendering quadrilateral primitives represented by data structures described in claim 26 further comprising the steps of: accessing said output values associated with each triangle primitive of each processor; generating pixel patterns representative of each triangle primitive as a result of said output values associated with each triangle primitive; and displaying said pixel patterns on a display means.
Claim 35
Dependent Claim 94 words
A method for rendering quadrilateral primitives represented by data structures described in claim 26 wherein said step of presenting said data structure further comprises the steps of: performing comparisons of screen coordinate values associated with pairs of vertices of said first or said second triangle primitive; determining a vertex ordering of said first or said second triangle primitive based on said comparisons, said step of determining performed by a triangle state machine; and generating output pointers indicative of said vertex ordering determined, said step of generating output pointers performed by said triangle state machine.
Claim 36
Dependent Claim 171 words
In a computer graphics system including a display means for displaying computer generated images and a first memory means for storage of data structures representing geometric primitives, a method for simultaneously rendering a plurality of geometric primitives, said method comprising the steps of: obtaining a data structure representing a geometric primitive from said first memory means; storing said data structure into a plurality of memory units so that information associated with a separate vertex of said geometric primitive is stored in a designated memory unit of said plurality of memory units; individually coupling any of said memory units to a different input of a mathematical unit to present said data structure to said mathematical unit in a predetermined vertex ordering; processing said data structure coupled to said mathematical unit to generate a slope for each edge of said geometric primitive utilizing a single primitive rendering routine tailored to accept said predetermined vertex ordering; and repeating the above steps simultaneously within a plurality of SIMD processors on said plurality of geometric primitives.
Claim 37
Dependent Claim 171 words
In a computer graphics system including a display means for displaying computer generated images and a first memory means for storage of data structures representing geometric primitives, a method for simultaneously rendering a plurality of geometric primitives, said method comprising the steps of: obtaining a data structure representing a geometric primitive from said first memory means; storing said data structure into a plurality of memory units so that information associated with a separate vertex of said geometric primitive is stored in a designated memory unit of said plurality of memory units; individually coupling any of said memory units to a different input of a mathematical unit to present said data structure to said mathematical unit in a predetermined vertex ordering; processing said data structure coupled to said mathematical unit to generate a slope for each edge of said geometric primitive utilizing a single primitive rendering routine tailored to accept said predetermined vertex ordering; and repeating the above steps simultaneously within a plurality of SIMD processors on said plurality of geometric primitives.
Claim 38
Dependent Claim 229 words
A computer graphics system for rendering geometric primitives comprising: a) display means for displaying computer generated images; b) first memory means for storage of information representing geometric primitives; c) a plurality of processor means each for simultaneously processing a separate geometric primitive and each for generating a first set of parameters associated with said separate geometric primitive, said plurality of processor means coupled to a common instruction bus, wherein said plurality of processor means are coupled utilizing SIMD architecture, each processor means further comprising: 1) a plurality of memory means for storing information representing said geometric primitive wherein information associated with each vertex of said geometric primitive is stored in a separate memory means; 2) mathematical processing means for processing said information representing said geometric primitive in a single predetermined vertex ordering, said mathematical processing means also for performing comparisons of parameters associated with pairs of said vertices of said geometric primitive; 3) multiplexing means coupled to said plurality of memory means and coupled to said mathematical processing means for providing said information representing said geometric primitive in said predetermined vertex ordering; and 4) vertex order determining means for determining an intermediary vertex ordering of said geometric primitive and generating output pointers indicative of said intermediary vertex ordering, said vertex order determining means coupled to said mathematical processing means to receive a comparison signal indicating results of said comparisons.
Claim 39
Dependent Claim 229 words
A computer graphics system for rendering geometric primitives comprising: a) display means for displaying computer generated images; b) first memory means for storage of information representing geometric primitives; c) a plurality of processor means each for simultaneously processing a separate geometric primitive and each for generating a first set of parameters associated with said separate geometric primitive, said plurality of processor means coupled to a common instruction bus, wherein said plurality of processor means are coupled utilizing SIMD architecture, each processor means further comprising: 1) a plurality of memory means for storing information representing said geometric primitive wherein information associated with each vertex of said geometric primitive is stored in a separate memory means; 2) mathematical processing means for processing said information representing said geometric primitive in a single predetermined vertex ordering, said mathematical processing means also for performing comparisons of parameters associated with pairs of said vertices of said geometric primitive; 3) multiplexing means coupled to said plurality of memory means and coupled to said mathematical processing means for providing said information representing said geometric primitive in said predetermined vertex ordering; and 4) vertex order determining means for determining an intermediary vertex ordering of said geometric primitive and generating output pointers indicative of said intermediary vertex ordering, said vertex order determining means coupled to said mathematical processing means to receive a comparison signal indicating results of said comparisons.
Claim 40
Dependent Claim 67 words
A computer graphics system for rendering geometric primitives as described in claim 30 further comprising scan conversion means for accessing said first set of parameters associated with said geometric primitive for said each processor means and generating therefrom a pixel pattern representative of said geometric primitive for said each processor means, said scan conversion means coupled to said each processor means and coupled to said display means.
Claim 41
Dependent Claim 23 words
A computer graphics system for rendering geometric primitives as described in claim 30 wherein said plurality of processor means comprise four processor means.
Claim 42
Dependent Claim 186 words
In a computer graphics system including display means for displaying computer generated images and first memory means for storage of information representing geometric primitives, an apparatus for rendering geometric primitives, said apparatus comprising: a) a plurality of processor means coupled in SIMD fashion, each processor means for simultaneously processing a separate geometric primitive and each for generating a first set of parameters associated with said separate geometric primitive, said plurality of processor means coupled to a common instruction bus, said each processor means further comprising: 1) a multiported memory means having a plurality of addressable ports for storing information representing said geometric primitive wherein information associated with each vertex of said geometric primitive is stored in a separate addressable port; 2) mathematical processing means for processing said information representing said geometric primitive in a single predetermined vertex ordering; and 3) multiplexing means coupled to said multiported memory means and coupled to said mathematical processing means for providing said information representing said geometric primitive in said predetermined vertex ordering by indirecting any of said plurality of addressable ports to a different input of said mathematical processing means.
Claim 43
Dependent Claim 186 words
In a computer graphics system including display means for displaying computer generated images and first memory means for storage of information representing geometric primitives, an apparatus for rendering geometric primitives, said apparatus comprising: a) a plurality of processor means coupled in SIMD fashion, each processor means for simultaneously processing a separate geometric primitive and each for generating a first set of parameters associated with said separate geometric primitive, said plurality of processor means coupled to a common instruction bus, said each processor means further comprising: 1) a multiported memory means having a plurality of addressable ports for storing information representing said geometric primitive wherein information associated with each vertex of said geometric primitive is stored in a separate addressable port; 2) mathematical processing means for processing said information representing said geometric primitive in a single predetermined vertex ordering; and 3) multiplexing means coupled to said multiported memory means and coupled to said mathematical processing means for providing said information representing said geometric primitive in said predetermined vertex ordering by indirecting any of said plurality of addressable ports to a different input of said mathematical processing means.
Claim 44
Dependent Claim 227 words
A circuit for rendering a geometric primitive composed of information associated with a plurality of vertices, said circuit integrated within a SIMD processor and comprising: a plurality of memories for storing said information associated with said plurality of vertices, each memory for storing information associated with a separate vertex of said geometric primitive and wherein each memory having an associated separate output port; a first circuit for determining slopes based on said information associated with said plurality of vertices of said geometric primitive, each slope associated with an edge of said geometric primitive, said first circuit coupled to a plurality of buses for receiving said information associated with said plurality of vertices and said first circuit for processing said information based on a predetermined vertex order input over said buses; multiplexing circuitry coupled to output ports of said plurality of memories and coupled to said first circuit for directly intercoupling an output of each memory to an individual bus of said buses of said first circuit so that said information associated with said plurality of vertices is supplied to said first circuit by said plurality of memories in said predetermined vertex order; and a selection control circuit for receiving comparisons of said information associated with said plurality of vertices and responsive thereto for generating control select signals coupled to said multiplexing circuitry for controlling said multiplexing circuitry.
Claim 45
Dependent Claim 227 words
A circuit for rendering a geometric primitive composed of information associated with a plurality of vertices, said circuit integrated within a SIMD processor and comprising: a plurality of memories for storing said information associated with said plurality of vertices, each memory for storing information associated with a separate vertex of said geometric primitive and wherein each memory having an associated separate output port; a first circuit for determining slopes based on said information associated with said plurality of vertices of said geometric primitive, each slope associated with an edge of said geometric primitive, said first circuit coupled to a plurality of buses for receiving said information associated with said plurality of vertices and said first circuit for processing said information based on a predetermined vertex order input over said buses; multiplexing circuitry coupled to output ports of said plurality of memories and coupled to said first circuit for directly intercoupling an output of each memory to an individual bus of said buses of said first circuit so that said information associated with said plurality of vertices is supplied to said first circuit by said plurality of memories in said predetermined vertex order; and a selection control circuit for receiving comparisons of said information associated with said plurality of vertices and responsive thereto for generating control select signals coupled to said multiplexing circuitry for controlling said multiplexing circuitry.
Claim 46
Dependent Claim 51 words
A circuit as described in claim 34 further comprising: a scan converter coupled to receive pixel information output from said first circuit for generating an image in pixels representative of said geometric primitive; and a display unit coupled to said scan converter for displaying said image generated by said scan converter.

References Cited (Backward Citations)

US5070465A Cited
US4945550A Cited
US5129051A Cited
US5287436A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-10-09 1999-04-10 1999-10-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-10-09 2003-04-10 2003-10-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-10-09 2007-04-10 2007-10-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag