[go: up one dir, main page]

DE19600431A1 - Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern - Google Patents

Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern

Info

Publication number
DE19600431A1
DE19600431A1 DE19600431A DE19600431A DE19600431A1 DE 19600431 A1 DE19600431 A1 DE 19600431A1 DE 19600431 A DE19600431 A DE 19600431A DE 19600431 A DE19600431 A DE 19600431A DE 19600431 A1 DE19600431 A1 DE 19600431A1
Authority
DE
Germany
Prior art keywords
pixels
span
processing
areas
scanning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE19600431A
Other languages
English (en)
Inventor
Gary S Watkins
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nivida International inc Santa Clara Calif Us
Original Assignee
Evans and Sutherland Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Evans and Sutherland Computer Corp filed Critical Evans and Sutherland Computer Corp
Publication of DE19600431A1 publication Critical patent/DE19600431A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Description

Typischerweise beinhalteten Computergraphiksysteme die Anzeige von Daten auf dem Bildschirm einer Kathodenstrahlröhre (CRT), um dyna­ mische Bilder zu liefern. Die Anzeigen wurden gebildet durch ein recht­ eckiges Feld mit tausenden einzelner Bildelemente (Pixel oder Pel). Jedes Pixel wird dargestellt durch spezifische gespeicherte Pixel-Daten, beispielweise Daten über die Farbe, die Intensität und die Tiefe.
Pixel-Daten können der Kathodenstrahlröhre aus einem sogenannten "Vollbildpuffer" (frame buffer) zugeführt werden, der in der Lage ist, die Daten mit hoher Geschwindigkeit bereitzustellen und zu liefern. Verschiedene Formate zur Organisation von Vollbildpuffern zum Trei­ ben von Anzeigevorrichtungen sind in einem Buch mit dem Titel "Com­ puter Graphics: Principles and Practice", zweite Ausgabe, Foley, Van Dam, Feiner und Hughes, veröffentlicht 1987 von Addison-Wesley Publishing Company offenbart; der Inhalt dieses Buchs sei hier durch Bezugnahme inkorporiert.
Um nacheinander Pixel "anzuzeigen" oder zu "schreiben", indem der Bildschirm einer Kathodenstrahlröhre erregt wird, werden häufig Raster­ abtastungs-Muster sowohl im Fernsehbereich als auch im Bereich von Computergraphiken eingesetzt. Die Rasterabtastung kann man analog zu dem Vorgang des Lesens betrachten, d. h. Pixel werden ähnlich wie Wörter eines nach dem anderen von links nach rechts und von Reihe zu Reihe in Abwärtsrichtung abgetastet. Der Elektronenstrahl der Kathoden­ strahlröhre folgt einem Raster, um Pixel für Pixel, Zeile für Zeile und Vollbild für Vollbild vorzunehmen. Das System für eine solche Anzeige enthält typischerweise eine zentrale Verarbeitungseinheit, einen System­ bus, einen Hauptspeicher, einen Vollbildspeicher, eine Videosteuerung und eine CRT-Anzeige. Diese Systeme sind im einzelnen in dem oben angegebenen Buch von Foley beschrieben.
Als Grundlage für eine dynamische Graphikanzeige werden im allgemei­ nen dreidimensionale geometrische Daten, die repräsentativ für Objekte oder primitive Formen sind (z. B. Polygone wie Dreiecke) in dem Haupt­ speicher abgespeichert. Die geometrischen Daten werden verarbeitet, um ausgewählte Daten bereitzustellen, die durch Abtastung so umgesetzt werden, daß Anzeigedaten generiert werden, welche jedes individuelle Pixel definieren. Die erhaltenen Daten werden in dem Vollbildspeicher abgespeichert und in einer Rasterfolge zum Treiben der Kathoden­ strahlröhren-Anzeige ausgegeben. Typischerweise wird bei dynamischen Anzeigen der Vollbildspeicher während der ersten Vorbereitungsinter­ valle zum Ansteuern der Anzeige während jedem zweiten Intervall auf­ geflischt oder neu geladen.
Für eine Anzeige mit Rasterabtastung bestand eine Übereinkunft bezüg­ lich der Organisation der Verarbeitungsfolge dahingehend, daß der Voll­ bildspeicher in einer Reihenfolge geladen wurde, die dem Raster-Ab­ tastmuster ähnlich war. Das heißt: die Raster-Abtastzeilen-Organisation von Vollbildpuffern zur Bereitstellung von Videodaten für eine Katho­ denstrahlröhre wurde üblicherweise dupliziert für das Schreiben von Pixel-Daten in den Bildpuffer. Üblicherweise werden Daten durch Ab­ tastung umgesetzt, um Pixel in Fragmenten der Rasterfolge zu ent­ wickeln und zu speichern. In gewissem Maß, insbesondere im Hinblick auf gewisse Speichereinrichtungen, verbessert die Methode manchmal den Zugriff auf Daten für die Verarbeitung.
An dieser Stelle scheinen einige Anmerkungen zu der Abtast-Umsetzung von Daten zur Schaffung von individuellen Pixeln angebracht. Graphik­ bilder werden im wesentlichen aus primitiven Formen (typischerweise Dreiecken), die im folgenden als Grundformen bezeichnet werden, gebil­ det, welche Objekte definieren, die auf der Anzeige erscheinen. Um die Pixel zu generieren, werden die ausgewählten Grundformen durch Ab­ tast-Verarbeitung zerlegt, um Beiträge für jedes Bildelement auf der Anzeige zu bestimmen. Wenn die Grundformen verarbeitet werden, wird die Dominanz von Objekten aufgelöst. Beispielsweise kann ein dominan­ tes Objekt Oberflächen eines anderen Objekts verbergen. Folglich wer­ den Grundformen individuell in Bezug auf die kumulativen Bestimmun­ gen jedes (in dem Vollbildpuffer) gespeicherten Pixels betrachtet, bis sämtliche Objekte berücksichtigt sind. Gleichzeitig mit der Verarbeitung von Grundformen können auch Strukturen in den Pixeln aus einem Texturspeicher berücksichtigt werden.
Im allgemeinen wird der Betrieb eines Videographiksystems durch meh­ rere Faktoren beherrscht, wie sie in dem oben angegebenen Buch von Foley angegeben sind, insbesondere in dem Abschnitt, der auf Seite 882 beginnt. Drei bedeutende Faktoren sind: (1) die Geschwindigkeit, mit der Pixel von einem Prozessor oder einer Abtastvorrichtung generiert werden, (2) die Geschwindigkeit, mit der erhaltene Pixel in einen Voll­ bildpuffer eingeschrieben werden können, und (3) wenn Bilder mit Textur versehen werden, die Geschwindigkeit, mit der die Texturele­ mente (Texels) aus einem Texturspeicher ausgelesen werden können. Eine detaillierte Behandlung der mit dem Speicherbetrieb von Graphiksy­ stemen verbundenen Probleme findet sich in einem Artikel "Memory Design for Raster Graphics Displays" von Mary C. Whitton, veröffent­ licht in IEEE CG, 1984 mit der Bezeichnung 0272-1716/84/0300- 0048 (dieser Aufsatz sei hier durch Bezugnahme inkorporiert).
Die Geschwindigkeit bei der Generierung von Pixeln in einer Abtastvor­ richtung oder einem Prozessor ist von je her schneller als die Fähigkeit des Systems, entweder Texels aus einem Texturspeicher zur Einkopie­ rung von Textur zu lesen, oder erhaltene Pixel in einen Vollbild-Puffer­ speicher einzuschreiben. Um dieses Problem der Speicher-Bandbreite zu beheben, wurden Systeme gebaut, die mehrere Blöcke eines Texturspei­ chers und/oder Vollbildpufferspeichers enthalten. Die mehreren Blöcke können parallel mit niedrigeren Speichergeschwindigkeiten arbeiten, so daß ein beliebiger Speicherblock nicht mit der Geschwindigkeit arbeiten muß, mit der die Pixel-Abtastvorrichtung arbeitet. Als Gruppe jedoch passen die kombinierten Speicherblöcke in ihrer Geschwindigkeit zu der Geschwindigkeit der Abtastvorrichtung. Hierzu wurden zahlreiche pa­ rallele Bildpuffer-Organisationen vorgeschlagen, darunter die Beispiele, die in dem oben angegebenen Buch von Foley auf den Seiten 887 und 890-893 angegeben sind. Dennoch besteht Bedarf an einem verbesserten System, welches in der Lage ist, Grundformen (Punkte, Linien, Polygo­ ne und andere Oberflächen) abzutasten, um Pixel zu generieren und sie in einem Vollbildpufferspeicher abzuspeichern.
Hierzu wird vorgeschlagen, anstelle der Abtast-Verarbeitung einer Grundform (einer primitiven Form) in der traditionellen Reihenfolge der Abtastzeile gesonderte Bereiche der Grundformen nacheinander abzu­ tasten. Durch die Abtastung ausgewählter Grundform-Bereiche können die generierten Pixel den Bedürfnissen einer speziellen Vollbildpuffer- Organisation entsprechen. Außerdem kann durch Abtastung ausgewählter Grundformbereiche in einer Reihenfolge in einem relativ schnellen Cache-Betrieb auf einen Texturspeicher zugegriffen werden.
Zur Abtast-Verarbeitung von primitiven oder Grundformen wird hier insbesondere von einer mehrstufigen Abtasttechnik Gebrauch gemacht. Im Hinblick auf einen Anzeigebildschirm beispielsweise können definier­ te Spannenbereiche oder Spannenflächen vier-mal-vier-Bildelementfelder bilden, und die Bildelemente oder Pixel einer Spanne (innerhalb einer Grundform oder eines Polygons) werden nacheinander generiert. Wenn eine Spanne von einem Polygon nur teilweise bedeckt wird, werden nur solche Pixel generiert, die im Inneren des Polygons liegen (oder an diesem teilhaben, wie dies an Grenzstellen der Fall ist). Nach der Ab­ tastung der Auswahlpixel innerhalb einer Spanne fährt das System mit dem Abtasten einer weiteren Spanne fort. Die Spannen können unter­ schiedliche Konfiguration besitzen, können z. B. quadratisch oder recht­ eckig sein, und sie können eine variierende Anzahl von Pixel enthalten.
Baulich gesehen kann das erfindungsgemäße System in einer von ver­ schiedenen Architekturen verkörpert sein, die für Computer-Anzeigen geeignet sind. Hierzu kann ein Eingangsabschnitt des Systems Daten durchsehen, um Auswahl-Grundformen in einen Bildschirmraum zu transformieren. Durch Verarbeitung der Grundformen im Bildschirm- Raum erzeugt ein Endabschnitt oder ein Abtast-Verarbeitungsabschnitt dann Pixel für das endgültige Bild. Das heißt: durch Abtast-Umsetzung jeder Grundform ermittelt der Endabschnitt des Systems den Beitrag der Grundformen für jedes Bildelement und sorgt für die geeignete Ab­ schattung. Bei der hier offenbarten Ausführungsform dient eine mehr­ stufige Abtast-Umsetz-Sequenz zum Generieren von Pixeln. Eine Textur- Einkopierung erfolgt bei der Abtast-Umwandlung, und es können Mehr­ fach-Wiedergabeprozessoren eingesetzt werden.
Noch einmal gesagt, kann die vorliegende Erfindung in einem Graphik­ system unter Verwendung eines Geometrieprozessors (Eingangskreis) realisiert werden, um Grundformen in einem Bildschirm-Raum bereitzu­ stellen, beispielsweise in der Form von Polygonen, beispielsweise Drei­ ecken. Ein Wiedergabe- oder Ausgangskreis-Prozessor setzt dann die primitiven Grundformen unter Verwendung eines mehrstufigen Verfah­ rens durch Abtastung um. Ausgedrückt in Verbindung mit einem zweidi­ mensionalen Bildschirmraum, definieren Spannenbereichen oder Spannenflächen (Spannen) Felder von Bildelementen in Relation zu Grundformen. Abschnitte von Spannen im Inneren von Grundformen werden durch Abtastung umgesetzt, und zwar Pixel für Pixel bei der Verarbeitung jeder einzelnen Spanne. Nach der Abtast-Verarbeitung der entsprechenden Pixel innerhalb jeder Spanne geht das System weiter, um die nächste Spanne abzutasten.
Außerdem kann erfindungsgemäß ein Texturspeicher dazu benutzt wer­ den, eine Textur-Abbildung zur Anwendung auf ein Polygon zu spei­ chern. Man beachte, daß der Textur-Speicher optional ist und nur in Systemen erforderlich ist, die eine Textur-Abbildung vornehmen. In jedem Fall empfängt der Vollbildpuffer, wenn Polygone durch Abtastung verarbeitet werden, die resultierenden Pixel-Daten und speichert sie. Dementsprechend können sowohl für einen Textur-Speicher als auch für einen Vollbildpuffer kleine, sehr schnelle Cache-Speicher verwendet werden. Grundlegende Cache-Speicher sind bekannt und werden in großem Umfang eingesetzt.
Eine alternative Ausführungsform sieht eine dreistufige Abtastung vor. Die unterste Stufe beinhaltet das Abtasten von Pixeln innerhalb eines Spannenbereichs (wobei die Spanne jeweils z. B. zwei mal zwei oder vier mal vier Pixel umfaßt). Die Zwischenstufe der Abtastung besteht darin, daß die Spannen innerhalb eines Tafelbereichs abgetastet werden (wobei ein Tafelbereich z. B. 8×8 oder 16×16 Spannen umfaßt). Schließlich sind sämtliche Tafeln innerhalb eines Grundformbereichs abgetastet, d. h., solche Tafeln, welche Pixel enthalten, die möglicherweise von der Grundform betroffen sind.
Im allgemeinen hat sich die dreistufige Abtastung als dann besonders nützlich erwiesen, wenn eine höhere Leistungsfähigkeit durch Einsatz mehrerer, parallel arbeitender Wiedergabeprozessoren (rendering processors) gewünscht ist. Auch eine solche Ausführungsform ist offen­ bart. Hierbei werden jedem Prozessor spezielle Tafeln für die Abtastung zugewiesen. Innerhalb einer Tafel erzeugt der Prozessor Pixel für sämt­ liche Spannenbereiche innerhalb der Tafel und der Grundform. Nach Beendigung einer Tafel beginnt ein Prozessor mit der Generierung von Pixeln für eine weitere Tafel. Beispielsweise könnten acht Wiedergabe­ prozessoren verwendet werden, um gleichzeitig Pixel für acht unter­ schiedliche Tafeln zu berechnen.
Kurze Beschreibung der Zeichnungen
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnungen erläutert. Es zeigen:
Fig. 1 ein anschauliches Blockdiagramm eines erfindungsgemäß aufgebauten Systems;
Fig. 1A ein Diagramm, welches die Abtastverarbeitung gemäß dem in Fig. 1 gezeigten System veranschaulicht;
Fig. 2 ein detaillierteres Blockdiagramm vom Komponenten des in Fig. 1 gezeigten Systems;
Fig. 3 ein Flußdiagramm, welches im einzelnen in von dem Sy­ stem nach Fig. 2 ausgeführten Prozeß veranschaulicht;
Fig. 4 ein detaillierteres Blockdiagramm von alternativen Kom­ ponenten des Systems nach Fig. 1;
Fig. 5 eine Diagramm-Darstellung eines Betriebs-Formats für das System nach Fig. 4;
Fig. 6 ein Flußdiagramm eines alternativen Betriebsablaufs für das System nach Fig. 4;
Fig. 7 ein Diagramm, welches eine alternative Form der Betriebs­ weise für das System nach Fig. 4 darstellt und
Fig. 8 ein Blockdiagramm der alternativen Ausführungsform für den Systembetrieb gemäß Fig. 7.
Wie oben erwähnt, sollen im folgenden Ausführungsbeispiele der Erfin­ dung offenbart werden. Allerdings sind die Bildformate, Datenformate, der Aufbau der Komponenten, die detaillierte Speicherorganisation sowie weitere Elemente gemäß der Erfindung in einer großen Vielfalt von Formen realisierbar, von denen sich einige möglicherweise von den hier beschriebenen Elementen unterscheiden. Deshalb sind die hier offenbar­ ten speziellen baulichen und funktionellen Einzelheiten lediglich reprä­ sentativ.
Es soll zunächst auf Fig. 1 Bezug genommen werden, die eine etwas vergrößerte Darstellung R veranschaulicht, um die Arbeitsweise einer Ausführungsform (eines mehrstufigen Abtastsystems) in Relation zu dem Raum eines Kathodenstrahlröhren-Bildschirms S einer Anzeigeeinheit U zu veranschaulichen. Hierzu ist anzumerken, daß die Darstellung R nicht in dieser Weise tatsächlich auf dem Bildschirm R erscheint, sondern die Darstellung veranschaulicht vielmehr ein stark vergrößertes Dreieck T (als primitive Form oder Grundform), welches im Bildschirm-Raum durch Abtastung verarbeitet werden soll.
Ein oberes Fragment F des Dreieckes T ist überdeckt dargestellt, um eine zweistufige Abtastung (Spanne und Pixel) zu veranschaulichen. Es versteht sich, daß die Abtastverarbeitung, die durch das Fragment F veranschaulicht wird, quer über das gesamte Dreieck T erfolgt, wie dies durch eine gestrichelte Linie 8 angedeutet ist. Aus Gründen der Verein­ fachung und Erläuterung jedoch ist hier die dargestellte Abtastung be­ schränkt auf lediglich das Fragment F.
Systemkomponenten, Speicherorganisation und der mehrstufige Betrieb und die mehrstufige Abtastverarbeitung gemäß der Darstellung R werden im folgenden detailliert abgehandelt. Vorab soll aber der Aufbau des Graphiksystems zum Ansteuern des Bildschirms S der Anzeigeeinheit U betrachtet werden.
Ein Geometrieprozessor GP (Fig. 1, oben links) ist mit einem Wieder­ gabeprozessor (rendering processor) RP gekoppelt, der seinerseits mit einem Vollbild-Pufferspeicher FB gekoppelt ist, um die Anzeigeeinheit U zu betreiben der Geometrieprozessor GP fungiert als Eingangskreis, indem er Grundformen, beispielsweise Dreiecke, in einen Bildschirm­ raum transformiert, um ausgewählte geometrische Daten für eine Anzei­ ge aufzubereiten. Ausführungsvarianten derartiger Prozessoren sind bekannt, sind beispielsweise im Kapitel 18 des oben angegebenen Buchs von Foley angegeben.
Der Wiedergabe- oder Aufbereitungsprozessor RP, auch als Ausgangs­ kreis- oder Rasterungsprozessor bezeichnet, erzeugt in dem Vollbild­ puffer FB dadurch End-Bilder, daß er jede der Grundformen (z. B. das Dreieck T), die geometrische Daten darstellen, durch Abtastung umsetzt. Der Vorgang beinhaltet möglicherweise die Feststellung, welche Grund­ formen bei jedem Pixel sichtbar sind, um dann das Pixel entsprechend abzuschatten und mit einer Textur zu versehen. Ausführungsvarianten solcher Bauteile und Elemente sind ebenfalls aus dem Stand der Technik bekannt, wie es in dem oben angegebenen Buch von Foley offenbart ist.
Die einzelnen Strukturen der offenbarten Ausführungsform sind in dem Wiedergabeprozessor RP und dem Vollbildpuffer FP vorhanden, um den hier in Rede stehenden Prozeß auszuführen. Um den Prozeß zu er­ läutern, soll nun auf die Darstellung R Bezug genommen werden, und zwar nicht als angezeigtes Bild, sondern zu dem Zweck, eine assoziative Beziehung des Bildschirmraums zwischen der Organisation des Wieder­ gabeprozessors RP und dem Vollbildpuffer FB anzugeben. Zunächst scheinen aber einige Anmerkungen zu dem Vorgang der Abtastverarbei­ tung angebracht.
Wie oben angegeben, werden einzelne Pixel oder Bildelemente dadurch generiert, daß zahlreiche, möglicherweise in einer Anzeige erscheinende Dreiecke hinsichtlich der Pixel-Verteilung geprüft werden. In dem Voll­ bildpuffer FB wird für jedes Pixel eine kumulative Darstellung zu­ sammengestellt, bis sämtliche Dreiecke behandelt worden sind. Grund­ sätzlich beinhaltet die hier offenbarte Ausführungsform Prozesse zum Aufteilen der Dreiecke (Polygone) Pixel für Pixel, um deren Beiträge in dem Vollbildpuffer FB wiederzugeben. Detaillierte Wieder- oder Über­ gabeoperationen sind bekannt, sie werden von Pixel-Prozessoren durch­ geführt, um kumulative gespeicherte Pixel, die Tiefe, Farbe und Textur repräsentieren, wie sie aus zuvor verarbeiteten Dreiecken abgeleitet wer­ den, zu revidieren. Folglich werden diese als "rendering" bezeichneten Vorgänge hier nicht im einzelnen behandelt, sondern es wird statt dessen auf den Abschnitt 18.7 auf Seite 882 des Buchs von Foley verwiesen. An dieser Stelle sei auch darauf hingewiesen, daß in dem genannten Buch der Begriff "Spanne" (span) in der Vergangenheit verschiedenartig verwendet wurde, um Gruppen von Pixeln als eine Zeilensequenz zu bezeichnen.
Rekapitulierend, beinhaltet die Arbeitsweise des Systems nach Fig. 1 die Abtast-Umsetzung jeder aus einer großen Anzahl von Grundformen, wie sie beispielhaft durch das Dreieck T repräsentiert werden. Im wesentli­ chen wird ermittelt, welche Dreiecke oder Teile von Dreiecken für die Darstellung durch jedes einzelne Pixel sichtbar sind. Die Pixel können auch abgeschattet oder mit einer Textur versehen werden. Bei der ab­ schließenden Analyse wird endgültig der Beitrag des Dreiecks T für jedes Pixel bestimmt, möglicherweise in Verbindung mit Beiträgen von anderen für die Anzeige ausgewählten Polygonen.
Wie oben angegeben, stellt die Darstellung R die Bildschirmraum-Rela­ tion des Bildschirms S zu der Verarbeitungs-Abfolge dar. Der Vollbild- Pufferspeicher B speichert Bildelemente oder Pixel in einer Bildschirm­ raum-Beziehung zu dem Bildschirm S für die Rasterfolge. Typischerwei­ se enthält der Vollbildpuffer FB mehrere Speicherebenen, wobei ab­ hängig von den unterschiedlichen Ausgestaltungen Elemente in verschie­ dener Weise angeordnet sein können. Dennoch existiert beim Zugriff auf den Vollbildpuffer FB die verknüpfte oder Assoziativ-Raumbeziehung mit dem Bildschirm S, wie sie hier dargestellt ist.
Der Wiedergabeprozessor RP definiert außerdem das (stark vergrößerte) Dreieck T im Bildschirmraum, welches zusammen mit zahlreichen wei­ teren durch Abtastung verarbeitet wird, um Pixel zu generieren, welche die Anzeigematrix zum Ansteuern des Bildschirms S definieren.
In Fig. 1 sind individuelle Pixel in Form von Feldern aus sechzehn Pixeln in quadratischen Spannen 10 gruppiert. Wiederum sei angemerkt, daß die Spannen auch die Form von Rechtecken haben können, und daß man variierende Anahlen individueller Pixel verwenden kann. Um die Darstellung in Fig. 1 zu verbessern, sind zwei Spannen 10a und 10b in vergrößerter Form dargestellt. Man sieht, daß die Spanne 10a an einer Kante 10 des Dreiecks T in zwei Teile unterteilt ist, während die Spanne 10b innerhalb des Dreiecks T liegt. Pfeile 11 deuten Reihen oder Zeilen von vier Pixeln an. Individuelle Pixel sind allerdings nicht dargestellt, hierzu sei auf die Fig. 1A verwiesen, welche die Spanne 10A stark vergrößert zeigt.
Die Arbeitsweise des Systems nach Fig. 1 beinhaltet das selektive Ab­ tasten der Spannen 10, die von dem Dreieck T überdeckt sind, und zwar in einer Rasterfolge oder Rastersequenz, wie sie durch eine Spannen- Abtastlinie 14 mit Richtungspfeilen 16 dargestellt ist. Die Linie 14 ist in Fig. 1A detaillierter als Linie 19 dargestellt. Demnach beinhaltet der mehrstufige Vorgang beim Abtasten der Spannen 10 die Pixel-Abtastung im Inneren jeder Spanne. Die ausgewählten (überdeckten) Pixels, die bei der Verarbeitung eines Polygons behandelt werden, hängen bis zu einem gewissen Ausmaß von dem speziellen Prozeß ab. Hierzu wurden ver­ schiedene Methoden zum Auswählen von Pixeln zur Verarbeitung in der Nähe der Kante eines Polygons vorgeschlagen, vgl. beispielsweise die US-A-4 873 515 mit dem Titel "Computer Graphics Pixel Processing System", erteilt am 10. Oktober 1989 an Slickson und Rushforth. Folg­ lich bedeuten die auf Pixel angewendeten Begriffe "überlappt" (oder "überdeckt"), "zusammenfallend" (oder "koinzident") und "ausgewählt" solche Pixel, die gemäß der Arbeitsweise des Pixel-Prozessors für die Verarbeitung ausgewählt werden.
Bei dem mehrstufigen Abtastvorgang werden, wenn jede Spanne 10 in der Folge behandelt wird (Fig. 1, Abtastlinie 14), die Pixel 17 innerhalb der Spanne abgetastet und verarbeitet. Die Abtastverarbeitung individu­ eller Pixel 19 in den Spannen 10 ist für die Spanne 10a in Fig. 1A durch eine Abtastlinie 19 dargestellt. Gestrichelte Abschnitte 19a sind Umkehr- oder Rücklaufhübe, während ausgezogene Abschnitte 19b Verarbeitungshübe sind.
Um eine Ablauffolge im einzelnen zu betrachten, soll angenommen werden, daß die der Spanne 10a vorausgehende Spanne fertig bearbeitet ist und die Spanne 10a nun gemäß Darstellung in Fig. 1A zu behandeln ist. Mit anderen Worten, der Gesamtbetrieb ist soweit vorangeschritten, daß nun die Spanne 10a als nächste Spanne in der Folge behandelt wird.
Von den sechzehn innerhalb der Spanne 10a liegenden Pixeln 17 werden diejenigen, die von dem Dreieck T überdeckt sind, selektiv durch Ab­ tastung umgewandelt in eine Teil-Rasterfolge, wie dies durch die Linie 19 angedeutet ist. Dementsprechend wird der Beitrag des Dreiecks T zu jedem überdeckten Pixel 17 festgestellt. Genauer gesagt, werden die überdeckten Pixel 17a (Fig. 1A auf der linken Seite von der Kante 12 des Dreiecks T) durch Abtastung in ein Teil-Rastermuster umgesetzt, wie dies durch die Pixel-Abtastlinie 19 angedeutet ist. In anderen Wor­ ten: jene Pixel 17b, die sich vollständig rechts von der Kante 12 befin­ den (die nicht von dem Dreieck T be- oder getroffen sind), werden nicht durch Abtastung umgesetzt. Somit behandelt das hier offenbarte mehr­ stufige System im Bildschirmraum die Spannen 10 in einer Teil- Rasterfolge (Fig. 1) so, daß die relevanten Pixel 17a innerhalb jeder Spanne (Fig. 1A) selektiv abgetastet werden, um den Vollbildpuffer FB zu aktualisieren (Fig. 1).
Nunmehr auf den Aufbau nach Fig. 2 Bezug nehmend, ist dort der Wiedergabe-Prozessor (rendering processor) RP etwas detaillierter in Verbindung mit einem optional vorgesehenen Texturspeicher 26 vor­ gesehen, der mit einem Textur-Speicher-Cache 28 innerhalb des Prozessors RP gekoppelt ist. In ähnlicher Weise fungiert ein Vollbild­ puffer-Cache 30 von der Innenseite des Prozessors RP her im Verein mit dem Vollbildpufferspeicher FB, wie es in der Zeichnung dargestellt ist. Verbunden mit den Caches 28 und 30 führt ein mehrstufiger (hier zweistufiger) Abtaster oder Scanner 32 in Verbindung mit einem Pixel- Prozessor 31 die Abtastverarbeitung durch. Der Abtaster 32 führt die mehrstufige Abtastung in der oben beschriebenen Weise im wesentlichen so durch, daß er die Sequenz oder Folge von Pixeln (Spanne für Spanne) ordnet. In der ersten Stufe wird eine Koinzidenz oder ein Zusammen­ fallen von Spannen und Polygonen geprüft. In der zweiten Stufe erfolgt die Prüfung für das Zusammenfallen von Polygon, Spanne und Pixel. Wenn Pixel in Bezug auf Polygone verarbeitet werden, werden sie in dem Vollbildpuffer FB wiedergespiegelt.
Im allgemeinen kann der Speicher der hier offenbarten Ausführungsform (der Vollbildpuffer FB und der Vollbildpuffer Cache 30) die Form aufweisen, wie sie offenbart ist in einem Artikel "FBRAM: A New Form of Memory Optimized for 3D Graphics", veröffentlicht bei Siggraph 94 von Deering, Schlapp und Lavelle, gedruckt in dem Vorgang mit der Bezeichnung ACM-0-89791-667-0/94/007/0167; diese Druckschrift sei hier durch Bezugnahme inkorporiert; und vergleiche auch den Aufsatz mit dem Titel "Rambus Architectural Overview", veröffentlicht von Rambus Inc. of Mountain View, Kalifornien, Copy­ right 1992, 1993 (hier durch Bezugnahme inkorporiert).
Rekapitulierend, erzeugt der Wiedergabeprozessor RP endgültige Bild­ daten durch Abtast-Umsetzung jeder Grundform (jedes Dreiecks), indem selektiv festgestellt wird, welche Grundformen bei jedem Pixel sichtbar sind, um zur Darstellung beizutragen, um dann das Pixel entsprechend abzuschatten. Wie oben angegeben, bestanden in der Vergangenheit Probleme darin, eine ausreichende Verarbeitungsleistung für Pixel-Be­ rechnungen und Speicher-Bandbreite für den Vollbildpuffer FB zum Abwickeln des Pixel-Verkehrs bereitzustellen.
Gemäß der vorliegenden Offenbarung werden, in einer gewissen Anleh­ nung an Bekanntes, Rechnungen nur einmal für ein Polygon durchge­ führt, und Polygone werden als Vorab-Behandlung gruppiert. Bin erster Schritt ist eine Koinzidenzfeststellung der das Polygon schneidenden Abtastlinie (bestimmt durch den Scheitel oder die Spitze mit dem kleins­ ten Y-Wert). Es ist typisch, daß die Spitze des Dreiecks T (Fig. 1) die Abtastlinie 14 an einem einzigen Pixel schneidet. Betroffen sind die beiden Dreieckkanten 12 und 21. Gemäß Konvention werden anschließend Delta-Werte für x, z, R, G und B für jede Kante berech­ net, vgl. einen Aufsatz "A Parallel Algorithm for Polygon Rasteriza­ tion", veröffentlicht in Computer Graphics, Band 22, Nr. 4, August 1988 von Juan Pineia und bezeichnet mit ACM-0-89791-275- 6/88/008/0017 (hier durch Bezugnahme inkorporiert).
Wie oben erwähnt, wurde vorgeschlagen, Berechnungen zu gruppieren, die einmal für jede Abtastzeile durchgeführt werden. Man beachte, daß in einigen Fällen eine durchgehende Sequenz von Pixeln auf einer hori­ zontalen Abtastlinie auch als "Spanne" bezeichnet wurde. Das heißt: der aktive Teil einer Abtastzeile (horizontale Pixel, die von einem Polygon beeinflußt sind) wurde als "Spanne" bezeichnet. Im vorliegenden Zu­ sammenhang wird mit dem Ausdruck "Spanne" oder "Spannenbereich" oder "Spannenfläche" jedoch eine Mehrzahl benachbarter Pixel bezeich­ net, z. B. ein Quadrat oder ein Rechteck. Auch hier gilt, daß, wenn eine Spanne lediglich teilweise von dem Polygon überlappt ist, nur solche zusammenfallenden, von dem Polygon überlappte (von dem Polygon beeinflußte) Pixel generiert werden.
Nach dem Abtasten der Pixel innerhalb einer Spanne geht der Prozessor zu einer weiteren Spanne weiter. Die Besonderheit des Wiedergabepro­ zessors RP liegt in der mehrstufigen Abtastung von Bereichen zur Be­ reitstellung von Sequenzen von Pixeln zur Verarbeitung durch den Pixel­ prozessor 31. Weitere, unten diskutierte Aspekte beinhalten die Textur- Einkopierung, das Generieren von Pixeln mit Mehrfach-Wiedergabe­ prozessoren und in dem Ausführen einer Textur-Einkopierung mit meh­ reren Wiedergabeprozessoren. Man beachte, daß der Betrieb von Cache- Speichern, um die es sich bei den Einheiten 28 und 30 handelt, an sich bekannt ist, wie es auf der Seite 885 des oben angegebenen Buchs von Foley erläutert ist.
Um den Betrieb des Wiedergabeprozessors RP in größerer Einzelheit zu betrachten, lokalisiert der zweistufige Abtaster 32 (Fig. 2) zu Beginn der Verarbeitung des Dreiecks T (Fig. 1) oder irgendeiner anderen Grund­ form das Anfangs-Pixel in dem Dreieck T, welches auch in einer An­ fangs-Spanne liegt. Der Prozeßschritt ist in Fig. 3 oben rechts durch einen Block 40 angegeben. Mit anderen Worten, der Abtaster 32 führt einen mehrstufigen Test in Form einer Rasterfolge durch, um eine Über­ einstimmung im Dreieck-Raum, im Spannen-Raum und im Pixel-Raum zu ermitteln.
Mit der Lokalisierung der Anfangs-Spanne (Fig. 1, Spitze des Dreiecks T) wird das Anfangspixel in dem Dreieck T sowie die Spanne 42 gene­ riert, wie dies durch einen Block 44 in Fig. 3 dargestellt ist. Anschließend wird nach der Identifizierung durch den Abtaster 32 (Fig. 2) das Anfangs-Pixel von dem Pixel-Prozessor 31 generiert, welches sämtliche Daten enthält, z. B. Z-Tiefe, Farbe und Textur.
Mit der Beendigung der Daten für jedes Pixel in der Folge geht der Abtaster 32 weiter zu einer Abfrage, die in Fig. 3 durch einen Block 46 dargestellt ist. Bei der Abfrage geht es um weitere mögliche Pixel in der Spanne und dem Dreieck (der Grundform, die noch nicht durch Ab­ tastung umgesetzt wurden). Wenn weitere solche Pixel existieren (die Antwort der Abfrage lautet Ja), geht der Prozeß weiter, um das über­ lappte Pixel zu identifizieren, was durch einen Block 48 dargestellt ist, um anschließend das Pixel in dem Block 44 in der oben erläuterten Weise zu verarbeiten.
Wenn die Antwort im Abfrageblock 46 Nein lautet, d. h. wenn keine weiteren überlappten Pixel in einer Spanne existieren, geht der Prozeß weiter zu einem Abfrageblock 50. Diese Abfrage betrifft eine Prüfung auf Vorhandensein zusätzlicher Spannen innerhalb der Grundform. Wenn solche weiteren Spannen vorhanden sind, werden die mit dem Polygon übereinstimmenden Pixel in der Spanne lokalisiert und in der durch die Blöcke 48 und 44 angegebenen Weise verarbeitet. Wenn allerdings bei der Abfrage im Block 50 keine weiteren überlappten Spannen in der laufenden Grundform existieren, wird diese Grundform abgeschlossen, was durch einen Block 54 veranschaulicht ist. Somit erfolgt also der mehrstufige Betrieb für jedes Polygon Pixel für Pixel und Spanne für Spanne, um Pixel durch Abtastung umzusetzen. Der Betrieb beinhaltet das Auswählen von mit dem Polygon zusammenfallenden Spannen in einer ersten Stufe und von mit dem Polygon zusammenfallenden Pixeln in einer zweiten Stufe.
Wie oben erläutert, ist der mehrstufige Abtastprozeß, um den es hier geht, nicht auf zwei Stufen beschränkt. In Fig. 4 ist ein dreistufiges Abtastsystem dargestellt. Ein Wiedergabeprozessor RP1 besitzt einen dreistufigen Abtaster 91, der an einen Pixel-Prozessor 93 und an ein Textur-Speicher-Cache 95 gekoppelt ist. Wie zuvor erläutert, arbeitet der Textur-Speicher-Cache 95 mit einem Texturspeicher 26 zusammen. Der Pixel-Prozessor 93 ist funktionell mit einem Vollbild-Pufferspeicher FB gekoppelt, um eine Anzeigeeinheit U zu treiben. Der Vollbild- Pufferspeicher FB beinhaltet ein Vollbild-Puffer-Cache 101, wie es in dem oben angegebenen Artikel "FBRAM" offenbart ist. Die Arbeits­ weise dieser Ausführungsform ist durch die Fig. 5 und 6 wiedergegeben und wird im folgenden betrachtet.
Fig. 5 zeigt ein Dreieck 60, von dem ein Fragment in drei Stufen abge­ tastet wird. Die unterste Stufe der Abtastung besteht aus den einzelnen Pixeln oder Bildelementen innerhalb jedes Spannenbereichs, z. B. darge­ stellt durch Linien 61 und 63 (alternierende Pfeile) in Spannen 62 bzw. 64. Man beachte, daß die Spannenbereiche 62 und 64 quadratisch sind und jeweils 64 Pixel (acht-mal-acht) beinhalten. Auch hier könnten rechteckige Spannenflächen mit anderen Mengen von Pixeln verwendet werden, beispielsweise zwei-mal-zwei, zwei-mal-vier und dergleichen.
Die Zwischenstufe der Abtastung betrifft die Spannen innerhalb eines Tafelbereichs, beispielsweise in einem Tafelbereich 66 oder 67. Wie dargestellt, sind die Tafelflächen quadratisch, definiert durch Felder aus vierundsechzig Spannen (acht-mal-acht). Auch hier können rechteckige Flächen mit anderen Mengen von Spannen verwendet werden, beispiels­ weise sechzehn-mal-sechzehn oder sechzehn-mal-acht. Im Betrieb wer­ den sämtliche Pixel lokalisiert und verarbeitet, die mit einer Tafel, mit einer Spanne und mit dem Dreieck 60 überdeckt sind, d. h. damit zu­ sammenfallen. Der Arbeitsablauf wird im folgenden unter Bezugnahme auf Fig. 6 detailliert erläutert.
Um den Betrieb bezüglich einer Grundform in Gestalt eines Polynoms einzuleiten, insbesondere für ein Dreieck 60 der oben beschriebenen Art, wird zunächst das Anfangspixel innerhalb der ersten Spanne lokalisiert, welche sich in einer Tafel befindet. Dieser Schritt wird durch einen Block 70 dargestellt (rechts oben in Fig. 6). Für das lokalisierte Pixel werden Daten generiert, umfassend Werte von z, Farbe und Textur, wie dies durch den Prozeßschritt Block 72 angegeben ist.
Wenn die Pixeldaten generiert sind, geht der Prozeß weiter zu einer Abfrage in Block 74. Die Abfrage geht dahin, ob noch in der Spanne überlappte Pixel vorhanden sind, die abgetastet werden müssen. Eine bejahende Antwort bringt den Prozeß zu einem Block 76 zurück, in welchem Daten für das nächste zur Bearbeitung anstehende Pixel erhal­ ten werden. Anschließend kehrt der Prozeß zu dem Schritt des Generie­ rens von Daten zurück, wie er durch den Block 72 angegeben ist.
Wenn in dem Abfrageblock 74 keine weiteren überlappten Pixel in der Spanne zur Verarbeitung anstehen, geht der Prozeß weiter zu einem Abtrageschritt gemäß Block 78. Diese Abfrage beinhaltet die Existenz weiterer überlappter Spannen (Spannen, die von dem Polygon überdeckt sind) in der laufenden Tafel, welche noch nicht einer Abtast-Verarbei­ tung unterzogen sind. Wenn solche Spannen vorhanden sind, geht der Prozeß zu einem Block 80, in welchem Daten für die nächste Spanne erhalten werden. Aus dieser Spanne wird das nächste überlappte oder (mit dem Polygon) zusammenfallende Pixel ermittelt, wie dies durch den Block 76 angedeutet ist, und der Ablauf geht weiter zur Pixelebene.
Wenn die Antwort im Abfrageblock 78 negativ ist, geht der Prozeß zu einer weiteren Abfrage in Block 82. Der Abfrageblock 82 betrifft die Existenz weiterer Tafeln in dem Polygon, die noch nicht durch die Abtastung verarbeitet wurden. Ähnlich zu den oben angegebenen Rück­ sprung-Schritten geht der Prozeß dann, wenn mindestens eine weitere abgedeckte Tafel vorhanden ist, zu einem Block 84, in welchem Daten für die nächste mit dem Polygon zusammenfallende Tafel erhalten wer­ den. Anschließend wird die nächste zusammenfallende Spanne erhalten, und danach wird das nächste überlappte Pixel erhalten, wie durch die Blöcke 80 und 86 angegeben ist.
Eine negative Antwort der Abfrage im Block 82 bedeutet die Beendi­ gung des laufenden Polygons, wie dies durch einen Block 86 angedeutet ist. Damit erfolgte eine dreistufige Abtastung des Polygons durch den dreistufigen Abtaster 91 (Fig. 4). Im Grunde genommen werden also Polygone so verarbeitet, bis das Anzeigebild definiert ist.
Es hat sich herausgestellt, daß eine dreistufige Abtastung insbesondere dann nützlich ist, wenn eine höhere Leistung erwünscht ist, z. B. als Ergebnis der Verwendung von Mehrfach-Wiedergabeprozessoren, die parallel zueinander arbeiten. Hierzu zeigt Fig. 7 ein Polygon in Form eines Dreiecks T mit Abtastmuster-Fragmenten, um die dreistufige Abtastverarbeitung mit acht Pixel-Prozessoren zu veranschaulichen, die in der Weise zugeordnet sind, wie dies durch die Buchstaben A bis H angegeben ist. Das heißt: jeder der Prozessoren P1, P3 (siehe Fig. 8) ist einer der Tafelgruppen A bis H zur Abtast-Umsetzung zugeordnet. Insbesondere gelten folgende Zuordnungen:
Prozessor P1 - Tafeln A
Prozessor P2 - Tafeln B
Prozessor P3 - Tafeln C
Prozessor P4 - Tafeln D
Prozessor P5 - Tafeln E
Prozessor P6 - Tafeln F
Prozessor P7 - Tafeln G
Prozessor P8 - Tafeln H.
In Fig. 8 sind zur Vermeidung einer Überlastung der Zeichnung die Sätze von acht Einheiten repräsentativ durch nur vier Prozessoren P1-P4 dargestellt (mit zugehörigen Vollbildpuffern F1-F4 und Textur­ speichern T1-T4), wobei man sieht, daß das Muster der jeweils zuge­ hörigen Komponenten fortgesetzt wird bis zu einer Gesamtmenge von acht, wie dies durch die gestrichelten Pfeile 111, 113 und 115 angedeu­ tet ist.
Im Betrieb generiert innerhalb jeder Tafel A-H ein zugeordneter Pro­ zessor relevante Pixel für sämtliche mit dem Polygon zusammenfallende oder von diesem überdeckte Spannen innerhalb der betreffenden Tafel. Innerhalb der Tafel A beispielweise generiert der Prozessor P1 Pixel (Pfeile 116 und 118) für sämtliche überdeckten Spannen (z. B. die Spannen 120 und 122) innerhalb der von dem Polygon überlappten Tafeln A.
Nach Beendigung einer Tafel beginnt jeder Prozessor mit der Generie­ rung von Pixeln in einer weiteren Spanne einer weiteren Tafel entspre­ chend den Buchstaben-Bezeichnungen A-H in Fig. 7.
Um ein weiteres Beispiel anzugeben, berechnet der Wiedergabeprozessor P1 die mit dem Polygon zusammenfallenden Pixel für die Tafeln, die mit A1, A2 und so fort bezeichnet sind. Gleichzeitig damit berechnen die anderen sieben Wiedergabeprozessoren P2-P8 die relevanten Pixel für ihre zugehörigen Tafeln B-H. Während der dreistufige Abtast­ prozeß möglicherweise irgendeine Anzahl von parallelen Prozessoren enthält, soll repräsentativ dafür hier das acht Prozessoren aufweisende System gemaß Fig. 8 näher betrachtet werden.
Bin Geometrieprozessor und ein Verteiler 102 (links in Fig. 8) liefern Daten für die Tafeln A-H an die Prozessoren P1-P8, von denen jeder einen mehrstufigen Abtaster in der oben beschriebenen Weise enthält.
Jeder der Wiedergabeprozessoren P1 bis P8 arbeitet zusammen mit einem Teil oder einem Fragment eines zusammengesetzten Vollbild- Pufferspeichers, wobei hier speziell Pufferfragmente F1 bis F8 angedeu­ tet sind. In ähnlicher Weise sind den Prozessoren P1 bis P8 Texturspei­ cher T1 bis T8 angekoppelt.
Im Betrieb arbeiten die Wiedergabeprozessoren P1 bis P8 unabhängig in Verbindung mit den Texturspeichern T1 bis T8, um Pixel innerhalb der Pufferspeicher-Fragemente F1 bis F8 zu aktualisieren. Die Ablauffolge beinhaltet die mehrstufige Bearbeitung, wie sie in dem Diagramm der Fig. 7 erläutert ist, d. h. unter Anwendung einer dreistufigen Abtastver­ arbeitung. Dementsprechend erfolgt eine effektive Pixel-Wiedergabe oder Pixel-Bereitstellung in wesentlich verbesserter Weise insofern, als die durch den Rastervorgang bedingten Schwierigkeiten überwunden werden.
Natürlich kann die Erfindung auch in Form anderer Ausführungsbei­ spiele realisiert werden, wobei spezielle Architekturen zur Rasterbildung eingesetzt werden können.

Claims (17)

1. Computergraphikverfahren zur Abtastverarbeitung von Ziel-Grund­ formen zwecks Generierung von Anzeigepixeln, wie sie z. B. in einem Vollbild-Puffer vorliegen, wobei die Pixel in einem Bildschirmraum mit einer verknüpften Raumbeziehung zu einem Anzeigebild-Raum organi­ siert sind, umfassend folgende Schritte:
Definieren von Ziel-Grundformen in Relation zu einer Mehrzahl von Spannenbereichen, wobei jeder Spannenbereich eine Mehrzahl von an­ einander angrenzenden Pixelbereichen des Anzeigebild-Raums enthält;
Abtasten der Spannenbereiche, um überlappte Spannen zu lokalisieren, die überlappte Pixel innerhalb einer Grundform enthalten;
Abtasten von Pixeln im Inneren der überlappten Spannen, um überlappte Pixel für die Verarbeitung zu lokalisieren; und
Verarbeiten der abgetasteten überlappten Pixel, Pixel für Pixel und Spanne für Spanne, um Pixeldaten für den Vollbildpuffer bereitzustellen.
2. Verfahren nach Anspruch 1, bei dem die Spannenbereiche in einer vorbestimmten Folge abgetastet werden.
3. Verfahren nach Anspruch 1 oder 2, bei dem der Verarbeitungs­ schritt eine Textur-Abbildung beinhaltet.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem der Ver­ arbeitungsschritt durch mehrere Wiedergabeprozessoren durchgeführt wird.
5. Verfahren nach Anspruch 4, bei dem der Verarbeitungsschritt eine Textur-Abbildung aus einem Texturspeicher beinhaltet.
6. Verfahren nach Anspruch 5, bei dem bei dem Schritt zum Verarbei­ ten von Daten in dem Texturspeicher ein Cache-Speicher verwendet wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, beinhaltend den Schritt des Definieren von Ziel-Grundformen in Relation zu einer Mehr­ zahl von Tafeln, wobei jede Tafel eine Mehrzahl von Spannenbereichen enthält, wobei die Tafeln zum Lokalisieren von Spannenbereichen abge­ tastet werden.
8. Verfahren nach Anspruch 7, bei dem die Spannenbereiche in einer vorbestimmten Folge abgetastet werden, wobei der Verarbeitungsschritt eine Texturabbildung beinhaltet, und wobei der Verarbeitungsschritt durch mehrere Wiedergabeprozessoren (P1-P8) durchgeführt wird.
9. Verfahren nach einem der Ansprüche 1 bis 8, bei dem ein Cache- Speicher in dem Prozeßschritt der Verarbeitung von Pixeldaten in dem Vollbildpuffer verwendet wird.
10. Computergraphiksystem zur Abtast-Verarbeitung von Ziel-Grund­ formen zwecks Generierung von Pixeldaten für eine einen Bildraum aufweisende Anzeigeeinheit, umfassend:
einen Vollbildpuffer, der so organisiert ist, daß er eine verknüpfte Raumbeziehung zu dem Bildraum der Anzeigeeinheit aufweist;
eine Einrichtung, die den Vollbildpuffer in eine Mehrzahl von Spannen­ bereichen unterteilt, von denen jeder Spannenbereich eine Mehrzahl von Pixelbereichen beinhaltet;
eine Einrichtung zum Abtasten der Spannenbereiche, um Pixel innerhalb einer Grundform und eines Spannenbereichs zu lokalisieren;
eine Einrichtung zum Abtasten von Pixeln innerhalb einer Grundform und eines Spannenbereichs, um Pixel für die Verarbeitung zu lokalisie­ ren; und
eine Verarbeitungseinrichtung zum Verarbeiten der Pixel in einer Grund­ form und in einem Spannenbereich, um Pixeldaten in dem Vollbildpuffer bereitzustellen.
11. System nach Anspruch 1, bei dem die Verarbeitungseinrichtung eine Einrichtung zur Textur-Abbildung aufweist.
12. System nach Anspruch 10 oder 11, bei dem die Verarbeitungsein­ richtung einen Textur-Cache beinhaltet.
13. System nach einem der Ansprüche 10 bis 12, bei dem die Ver­ arbeitungseinrichtung mehrere Wiedergabeprozessoren aufweist.
14. System nach einem der Ansprüche 10 bis 13, bei dem der Voll­ bildpuffer einen Cache-Speicher enthält.
15. Computergraphikverfahren zur Abtast-Verarbeitung von Ziel- Grundformen zwecks Generierung von Anzeigepixeln für beispielsweise einen Vollbildpuffer, wobei die Pixel im Bildschirmraum organisiert ist, der eine verknüpfte Raumbeziehung zu einem Anzeigebild-Raum auf­ weist, umfassend die Schritte:
Definieren von Ziel-Grundformen in einem Bildraum;
Definieren eines Anzeigebild-Raums in Form einer Mehrzahl von Spannenbereichen, von denen jeder Spannenbereich ein Feld von Pixeln enthält;
Abtasten von Ziel-Grundformen, um überlappte Spannenbereiche zu lokalisieren, welche Pixel enthalten, die von den Ziel-Grundformen überdeckt sind;
Abtast-Verarbeiten von Pixeln, die von der Ziel-Grundform in jedem der überlappten Spannenbereiche überlappt sind, in einer Folge, um Anzei­ gepixel zu erzeugen; und
Speichern der Anzeigepixel in einem Speicher.
16. Verfahren nach Anspruch 15, bei dem der Schritt der Abtast-Ver­ arbeitung von Pixeln als Paralleloperation ausgeführt wird, um Pixel aus einer Mehrzahl von Spannenbereichen gleichzeitig zu verarbeiten.
17. Computergraphiksystem zur Abtast-Verarbeitung von Ziel-Grund­ formen zwecks Generierung von Pixeldaten für eine Anzeigeeinheit, die einen Bild-Raum aufweist, umfassend:
einen Geometrieprozessor zum Bereitstellen von Ziel-Grundformen in einem Bildschirm-Raum;
eine Abtasteinrichtung zum Definieren des Bildschirm-Raums in Form von Spannenbereichen, die jeweils Felder aus Pixeln enthalten, wobei Ziel-Grundformen in einer ersten Stufe abgetastet werden, um überdeck­ te Spannenbereiche, das sind durch die Ziel-Grundformen überdeckte Spannenbereiche, zu identifizieren, und um in einer zweiten Stufe über­ lappte Pixel in den überlappten Spannenbereichen durch Abtastung zu verarbeiten, welche von der Ziel-Grundform überdeckt sind, um Pixel­ daten bereitzustellen; und
eine Speichereinrichtung zum Speichern der Pixeldaten für die Anzeige.
DE19600431A 1995-01-10 1996-01-08 Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern Ceased DE19600431A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/370,669 US5598517A (en) 1995-01-10 1995-01-10 Computer graphics pixel rendering system with multi-level scanning

Publications (1)

Publication Number Publication Date
DE19600431A1 true DE19600431A1 (de) 1996-09-19

Family

ID=23460655

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19600431A Ceased DE19600431A1 (de) 1995-01-10 1996-01-08 Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern

Country Status (3)

Country Link
US (2) US5598517A (de)
DE (1) DE19600431A1 (de)
GB (1) GB2297018B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778177B1 (en) 1999-04-15 2004-08-17 Sp3D Chip Design Gmbh Method for rasterizing a graphics basic component

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285376B1 (en) * 1994-09-28 2001-09-04 Samsung Electronics Co., Ltd. Triangle traversing method and a rasterizer adopting the same
US5598517A (en) * 1995-01-10 1997-01-28 Evans & Sutherland Computer Corp. Computer graphics pixel rendering system with multi-level scanning
US6236408B1 (en) 1995-01-10 2001-05-22 Evans & Sutherland Computer Corporation Computer graphics pixel rendering system with multi-level scanning
FR2735267B1 (fr) * 1995-06-08 1999-04-30 Hewlett Packard Co Systeme et procede de convertisseur de balayage de triangles a tampons de trame entrelaces en deux dimensions
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5999189A (en) * 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US6005582A (en) * 1995-08-04 1999-12-21 Microsoft Corporation Method and system for texture mapping images with anisotropic filtering
US5864342A (en) * 1995-08-04 1999-01-26 Microsoft Corporation Method and system for rendering graphical objects to image chunks
US5808617A (en) * 1995-08-04 1998-09-15 Microsoft Corporation Method and system for depth complexity reduction in a graphics rendering system
US5880737A (en) * 1995-08-04 1999-03-09 Microsoft Corporation Method and system for accessing texture data in environments with high latency in a graphics rendering system
US5949428A (en) * 1995-08-04 1999-09-07 Microsoft Corporation Method and apparatus for resolving pixel data in a graphics rendering system
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US5990904A (en) * 1995-08-04 1999-11-23 Microsoft Corporation Method and system for merging pixel fragments in a graphics rendering system
JPH09282136A (ja) * 1996-02-13 1997-10-31 Ricoh Co Ltd データの書込読出方法
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
JP3232236B2 (ja) * 1996-04-05 2001-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフィック処理システム
US5758128A (en) * 1996-06-27 1998-05-26 Cirrus Logic, Inc. Object referenced memory mapping
US5896882A (en) * 1996-06-27 1999-04-27 Northrop Grumman Corporation Pressure control valve
US5987567A (en) * 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US5982373A (en) * 1996-11-12 1999-11-09 Chromatic Research, Inc. Dynamic enhancement/reduction of graphical image data resolution
US6154216A (en) * 1997-04-30 2000-11-28 Ati Technologies Method and apparatus for decompression of a two dimensional video texture map
US6362818B1 (en) 1998-01-07 2002-03-26 Evans & Sutherland Computer Corporation System and method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6661421B1 (en) 1998-05-21 2003-12-09 Mitsubishi Electric & Electronics Usa, Inc. Methods for operation of semiconductor memory
US6559851B1 (en) 1998-05-21 2003-05-06 Mitsubishi Electric & Electronics Usa, Inc. Methods for semiconductor systems for graphics processing
US6504550B1 (en) 1998-05-21 2003-01-07 Mitsubishi Electric & Electronics Usa, Inc. System for graphics processing employing semiconductor device
US6535218B1 (en) 1998-05-21 2003-03-18 Mitsubishi Electric & Electronics Usa, Inc. Frame buffer memory for graphic processing
US6611272B1 (en) * 1998-07-02 2003-08-26 Microsoft Corporation Method and apparatus for rasterizing in a hierarchical tile order
US6608625B1 (en) * 1998-10-14 2003-08-19 Hitachi, Ltd. Three dimensional graphic processor
US6300953B1 (en) * 1998-10-15 2001-10-09 Nvidia Apparatus and method for grouping texture cache requests
US6452603B1 (en) 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6184894B1 (en) 1999-01-29 2001-02-06 Neomagic Corp. Adaptive tri-linear interpolation for use when switching to a new level-of-detail map
US7050063B1 (en) * 1999-02-11 2006-05-23 Intel Corporation 3-D rendering texture caching scheme
US6437789B1 (en) 1999-02-19 2002-08-20 Evans & Sutherland Computer Corporation Multi-level cache controller
US6919895B1 (en) 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6731296B2 (en) * 1999-05-07 2004-05-04 Broadcom Corporation Method and system for providing programmable texture processing
US6421053B1 (en) * 1999-05-24 2002-07-16 International Business Machines Corporation Block rendering method for a graphics subsystem
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6795072B1 (en) * 1999-08-12 2004-09-21 Broadcom Corporation Method and system for rendering macropixels in a graphical image
US6650325B1 (en) 1999-12-06 2003-11-18 Nvidia Corporation Method, apparatus and article of manufacture for boustrophedonic rasterization
US7233331B2 (en) * 2000-03-16 2007-06-19 Square Enix Co., Ltd. Parallel object task engine and processing method
US20050052459A1 (en) * 2000-06-07 2005-03-10 Lewis Michael C. Method and system for rendering macropixels in a graphical image
EP1323013A2 (de) * 2000-08-24 2003-07-02 Immersive Technologies LLC Computerisiertes bildsystem
US7081903B2 (en) * 2001-12-12 2006-07-25 Hewlett-Packard Development Company, L.P. Efficient movement of fragment stamp
JP2003263650A (ja) * 2002-03-12 2003-09-19 Sony Corp 画像処理装置およびその方法
KR100487461B1 (ko) * 2002-07-31 2005-05-03 학교법인연세대학교 타일링 트래버설 방식의 주사변환 유닛
US7800631B2 (en) * 2003-03-18 2010-09-21 Qualcomm Incorporated Triangle rendering using direct evaluation
US7551174B2 (en) * 2003-12-23 2009-06-23 Via Technologies, Inc. Method and apparatus for triangle rasterization with clipping and wire-frame mode support
US7167183B1 (en) * 2004-10-14 2007-01-23 Nvidia Corporation Reorganized anisotropic sampling order
US7369136B1 (en) 2004-12-17 2008-05-06 Nvidia Corporation Computing anisotropic texture mapping parameters
CN101617354A (zh) 2006-12-12 2009-12-30 埃文斯和萨瑟兰计算机公司 用于校准单个调制器投影仪中的rgb光的系统和方法
JP4325812B2 (ja) * 2007-06-28 2009-09-02 Necシステムテクノロジー株式会社 ベクター画像描画回路およびベクター画像描画方法
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8405657B2 (en) * 2008-09-09 2013-03-26 Autodesk, Inc. Animatable graphics lighting analysis
US9495796B2 (en) * 2008-09-09 2016-11-15 Autodesk, Inc. Animatable graphics lighting analysis reporting
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
JP5151946B2 (ja) * 2008-12-09 2013-02-27 富士通株式会社 描画装置
US8150215B2 (en) * 2010-03-24 2012-04-03 Altek Corporation Routable image pipeline device
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US10503456B2 (en) 2017-05-05 2019-12-10 Nvidia Corporation Method and apparatus for rendering perspective-correct images for a tilted multi-display environment
CN110969567B (zh) * 2019-11-18 2023-09-19 中国航空工业集团公司西安航空计算技术研究所 一种gpu线图元光栅化平移坐标系扫描方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8828342D0 (en) * 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
GB2245806A (en) * 1990-06-29 1992-01-08 Philips Electronic Associated Generating an image
GB2251770B (en) * 1991-01-09 1995-01-11 Du Pont Pixel Systems Graphics accelerator system with polygon traversal operation
GB2251773B (en) * 1991-01-09 1995-01-18 Du Pont Pixel Systems Graphics accelerator system with line drawing and tracking operations
US5598517A (en) * 1995-01-10 1997-01-28 Evans & Sutherland Computer Corp. Computer graphics pixel rendering system with multi-level scanning

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FOLEY, J. u.a.: Computer Graphics, Principles and Practice, Addison-Wesley, 1990, S. 883-886 *
PINEDA, J.: A Parallel Algorithm for Polygon Rasterization Computer Graphics, Vol. 22, No. 4, August 1988, S. 17-20 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778177B1 (en) 1999-04-15 2004-08-17 Sp3D Chip Design Gmbh Method for rasterizing a graphics basic component

Also Published As

Publication number Publication date
US5821944A (en) 1998-10-13
GB2297018A (en) 1996-07-17
GB9600454D0 (en) 1996-03-13
GB2297018B (en) 1999-12-29
US5598517A (en) 1997-01-28

Similar Documents

Publication Publication Date Title
DE19600431A1 (de) Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern
DE3855231T2 (de) Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing
DE69130123T2 (de) Anzeigegerät und Verfahren zum Betreiben eines solchen Geräts
DE69602728T2 (de) Vorrichtung zur bildmanipulation und -generation
DE3853393T2 (de) Verfahren und Vorrichtung zur zweidimensionalen Bilderstellung.
DE69811849T2 (de) Verfahren und gerät zur interpolation von attributen bei 3d-grafiken
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE69130132T2 (de) Verfahren zur Erzeugung von Adressen zu texturierten, in RIP Maps gespeicherten graphischen Primitiven
DE69529253T2 (de) Verfahren und Gerät zum Erzeugen von Musterzeichen
DE10053439B4 (de) Grafik-Beschleuniger mit Interpolationsfunktion
DE69128731T2 (de) Schaltungsanordnung für die Konvertierung von pyramidenförmigen Texturkoordinaten und diese enthaltendes Anzeigegerät
DE69122557T2 (de) Bilderzeugung
EP1175663B1 (de) Verfahren zur rasterisierung eines graphikgrundelements
DE19709220B4 (de) System und Verfahren für eine beschleunigte Verdeckungsauslese
DE69908966T3 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE102008034519B4 (de) Aufgeteilte Datenstruktur, und Verfahren zum Laden einer Partikel-basierten Simulation unter Verwendung der aufgeteilten Datenstruktur in GPU, usw.
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE69916646T3 (de) Schattierung von 3-dimensionalen rechnererzeugten Bildern
DE69835408T2 (de) Verfahren und Vorrichtung zur Komposition von Bildfarben unter Speicherbeschränkungen
DE69914355T2 (de) Bildverarbeitungsgerät
DE60012917T2 (de) Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE69122147T2 (de) Verfahren und Einrichtung zum Abschneiden von Pixeln von Quellen- und Zielfenstern in einem graphischen System
DE102015107869A1 (de) Vergabe von Primitiven an Primitiv-Blöcke

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NIVIDA INTERNATIONAL,INC., SANTA CLARA, CALIF., US

8131 Rejection