DE19600431A1 - Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern - Google Patents
Computergraphik-Pixel-Wiedergabesystem mit Cache-SpeichernInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
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.
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.
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.
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.
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.
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.
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.
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)
| 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)
| 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)
| 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 |
-
1995
- 1995-01-10 US US08/370,669 patent/US5598517A/en not_active Expired - Lifetime
-
1996
- 1996-01-08 DE DE19600431A patent/DE19600431A1/de not_active Ceased
- 1996-01-10 GB GB9600454A patent/GB2297018B/en not_active Expired - Lifetime
-
1997
- 1997-01-24 US US08/788,738 patent/US5821944A/en not_active Expired - Lifetime
Non-Patent Citations (2)
| 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)
| 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 |