DE69127915T2 - System und Verfahren von Prioritätsfarbabbildung - Google Patents
System und Verfahren von PrioritätsfarbabbildungInfo
- Publication number
- DE69127915T2 DE69127915T2 DE69127915T DE69127915T DE69127915T2 DE 69127915 T2 DE69127915 T2 DE 69127915T2 DE 69127915 T DE69127915 T DE 69127915T DE 69127915 T DE69127915 T DE 69127915T DE 69127915 T2 DE69127915 T2 DE 69127915T2
- Authority
- DE
- Germany
- Prior art keywords
- color
- areas
- image elements
- display screen
- scene
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 48
- 238000013507 mapping Methods 0.000 title claims description 23
- 238000003384 imaging method Methods 0.000 claims description 5
- 238000009877 rendering Methods 0.000 description 13
- 238000012913 prioritisation Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Description
- m
- Die vorliegende Erfindung betrifft im allgemeinen den Bereich von Computergrafiken und insbesondere Verfahren und Mittel zum Anzeigen von Farbbildern auf Anzeigenhardware.
- Es gibt mindestens zwei verschiedene Verfahren zur Anordnung von Farbwerten (r, g, b) in den einzelnen Bildelementen, die auf einen Hardwarebildschirm enthalten sind: "Wiedergabe der Geometrie" und "Anzeigen des Bildes". "Wiedergabe der Geometrie" ist ein Verfahren, bei dem auf dem Bildschirm anzuzeigende Objekte als Vielecke dargestellt werden. Scheitelpunkten dieser Vielecke werden Farbwerte zugeordnet, die durch Berechnungen (Lichtstärkenberechnung), die bei jeder Wiedergabe ausgeführt werden, bestimmt werden. Bildelementen, die bei jeder Wiedergabe ausgewählt werden, werden diese Farbwerte zum Anzeigen der Scheitelpunkte zugeordnet. Den restlichen Bildelementen werden Farbwerte mittels "Schattierung" zugeordnet. "Schattierung" ist der Vorgang des Auffüllens der restlichen Bildelemente, die während der "Wiedergabe der Geometrie" ein Vieleck umfassen. Farbwerte für diese Bildelemente werden aus Informationen berechnet, die über die Scheitelpunkte des Vielecks bekannt sind. Die "Gouraud-Schattierung" ist ein Verfahren der Schattierung, bei dem die Farbwerte der Scheitelpunkte farbinterpoliert werden, um die Farbwerte für die restlichen Bildelemente des Vielecks abzuleiten. Es gibt andere Verfahren zur Schattierung, die keine Farbinterpolation benutzen. Im Gegensatz zur "wiedergabe der Geometrie" können Bildelementen Farbwerte zugeordnet werden, indem sie einfach aus einer Matrix von Farbwerten, die als "Bild" bezeichnet wird, ausgefüllt werden. In diesem Fall werden der Anzeigenhardware keine eingerichteten Objekte oder Vielecke dargestellt. Ein solches Bild kann von einer Kamera oder aus einem Vorgang zur Berechnung von Farbwerten, beispielsweise "Strahlengangverfolgung", erhalten werden. "Strahlengangverfolgung" ist ein Verfahren mit hohem Rechenaufwand zur Berechnung von Farbwerten für ein Bildelement. Normalerweise wird die Zentraleinheit (CPU) eines Computersystems zur Ausführung dieser Abbildungsberechnungen verwendet. In diesen herkömmlichen Systemen führt die CPU alle Abbildungs(Strahlengangverfolgungs-) Berechnungen für jedes Bildelement auf einem Anzeigebildschirm in sequentieller Reihenfolge aus. Eine ausführliche Erläuterung der Strahlengangverfolgung ist in "An Overview of Ray Tracing", Andrew S. Glassner, nachzulesen. Es ist zu erkennen, daß Abbildungsberechnungen im allgemeinen und insbesondere die Strahlengangverfolgung extrem zeitaufwendig sind, und je nach Beschreibung des angezeigten Bildschirms kann es Stunden oder sogar Tage dauern, diese Farbabbildung fertigzustellen. Die Kombination von Berechnung und Anzeige eines Bildes kann als "Farbabbildung" bezeichnet werden.
- Da die Strahlengangverfolgung ein Mittel zur Ausführung der Farbabbildung mit extrem hohem Rechenaufwand ist, ist es wünschenswert, unnötige Berechnungen auf ein Minimum herabzusetzen, wo immer es möglich ist. Ein Lösungsweg wird in der Abhandlung mit dem Titel "Antialiased Ray Tracing by Adaptive Progressive Refinement" von J. Painter und K. Sloan und veröffentlicht in "Computer Graphics", Band 23, Nummer 3, Juli 1989, erläutert. Das hier beschriebene Verfahren verfolgt den Strahlengang jedes Bildelementes einige Male zurück und verwendet anschließend Abtastmethoden, um eine Priorität bezüglich der Bildelemente, deren Strahlengang- als nächstes rückverfolgt werden muß, festzulegen, wobei die Priorität vom Unterschied der Farbwerte zwischen Bildelementen, deren Strahlengang nacheinander rückverfolgt wird, abhängt. Dieses Verfahren ordnet Objekten und Merkmalen des Bildes, beispielsweise Ränder mit vorher festgelegten Eigenschaften, bei der Verarbeitung eine Priorität zu. Obwohl Verarbeitungsressourcen wirkungsvoller als bisher übertragen werden, ordnet eine solche Lösung solche Ressourcen immer noch Merkmalen zu, die keine sofortige Analyse benötigen, und es ist eine Aufgabe der vorliegenden Erfindung, eine unnötige Zuordnung von Verarbeitungsressourcen zu vermindern.
- Unter einem ersten Gesichtspunkt gesehen, stellt die Erfindung ein Verfahren zum Anzeigen einer Szene auf einem Computeranzeigebildschirm bereit, wobei bestimmte Bereiche der Szene bestimmten, auf dem Anzeigebildschirm enthaltenen Bildelementen entsprechen, wobei das Verfahren die folgenden Schritte umfaßt:
- Zuweisen von Prioritätswerten zu bestimmten Bereichen der angezeigten Szene;
- Bestimmen einer Anzahl und Position von Bildelementen, die in Farbe abgebildet werden sollen, wobei die Bildelemente einen Bereich des Anzeigebildschirms einschließen;
- Ausführen der Farbabbildungsberechnungen für die festgestellte Anzahl von Bildelementen und Anzeigen dieser in Farbe abgebildeten Bildelemente auf dem Bereich des Anzeigebildschirms;
- Aufteilen des Bereichs des Anzeigebildschirms in weiter unterteilte Bereiche; und
- Vergeben von Prioritäten für die unterteilten Bereiche beim Auftreten der in Farbe abgebildeten Bildelemente innerhalb der Szenenbereiche mit dem höchsten zugewiesenen Prioritätswert.
- Das Schema zur Vergabe von Prioritäten unterteilt Bereiche eines Anzeigebildschirms aufgrund eines Prioritätswertes, der Objekten in einer darauf angezeigten Szenenbeschreibung zugewiesen wird. In bevorzugten Ausführungsformen wird die Zuweisung von Prioritätswerten vom Systembenutzer gesteuert, wodurch es gestattet wird, daß alle Strahlengangverfolgungsvorgänge auf bestimmte Bereiche des Bildes, die für den Benutzer interessanter als andere sind, konzentriert werden und die Geschwindigkeit, mit der diese Bereiche angezeigt werden, erheblich gesteigert wird.
- Unter einem zweiten Gesichtspunkt gesehen, stellt die vorliegende Erfindung ein System zum Anzeigen einer Szene auf einem Computeranzeigebildschirm bereit, wobei bestimmte Bereiche der Szene bestimmten, auf dem Anzeigebildschirm enthaltenen Bildelementen entsprechen, wobei das System folgendes umfaßt:
- einen Bezeichner zum Zuweisen von Prioritätswerten zu bestimmten Bereichen der angezeigten Szene;
- ein Schnittstellenmittel (22), das auf die Eingabe vom Bezeichner zur Bestimmung einer Anzahl und Position von in Farbe abzubildenden Bildelementen anspricht, wobei die Bildelemente einen Bereich des Anzeigebildschirms einschließen;
- eine Verarbeitungseinheit (18) zum Ausführen der Farbabbildungsberechnungen für die festgestellte Anzahl von Bildelementen;
- Mittel zum Anzeigen der in Farbe abgebildeten Bildelemente auf dem Anzeigebildschirm (10);
- Mittel zum Aufteilen des Bereichs des Anzeigebildschirms in unterteilte Bereiche; und
- Mittel zum Vergeben von Prioritäten für die unterteilten Bereiche beim Auftreten der in Farbe abgebildeten Bildelemente innerhalb der Szenenbereiche mit dem höchsten zugewiesenen Prioritätswert.
- Die vorliegende Erfindung wird bezugnehmend auf eine Ausführungsform davon nachfolgend lediglich beispielhaft beschrieben, wie in den begleitenden Zeichnungen dargestellt wird, in denen:
- Figur 1 ein Blockdiagramm ist, das ein bevorzugtes System darstellt, in dem die vorliegende Erfindung verwendet werden kann;
- Figur 2 einflußdiagramm ist, das die Schritte zeigt, die zur Realisierung der Fähigkeiten der Anzeigeadapter-Hardware in diesem System benötigt werden;
- Figur 3 ein Diagramm eines Teils einer Anzeige ist, das jene Bildelemente zeigt, für die Farbwerte interpoliert werden können, und jene, die durch ein System, in dem die vorliegende Erfindung verwendet werden kann, in Farbe abgebildet werden;
- Figur 4 ein Flußdiagramm ist, das die Schritte darstellt, die vom Prioritätsvergabeschema einer bevorzugten Ausführungsform der vorliegenden Erfindung benötigt werden;
- Figur 5 eine Darstellung einer Szenenbeschreibung einer Ausführungsform der vorliegenden Erfindung, für die eine Priorität vergeben wurde, ist; und
- Figur 6 eine andere Darstellung einer weiteren Ausführungsform der vorliegenden Erfindung ist.
- Zuerst wird ein bevorzugtes Verfahren der Farbabbildung, bei dem die vorliegende Erfindung verwendet werden kann, mit Bezugnahme auf die Figuren 1 bis 3 erläutert.
- Was wiederum die Erläuterung der Wiedergabe der Geometrie betrifft, können eine Anzahl gegenwärtig verfügbarer Computeranzeigeadapter-Hardwareeinheiten eine solche Wiedergabe der Geometrie, einschließlich der Gouraud-Schattierung, ausführen. Die Gouraud-Schattierung ist eine Grafikmethode ohne Bezug zu Farbabbildung oder Strahlengangverfolgung. Da die Gouraud- Schattierung über die Farbinterpolation realisiert wird, können diese Anzeigeadapter die Farbinterpolation ausführen.
- Während des Zeitraums, in dem eine CPU die Strahlengangverfolgungsberechnungen ausführt, bleibt die gesamte verbleibende computergrafik-Hardware ungenutzt, wobei sie die Beendigung dieser Berechnungen abwartet. Ein Verfahren, das die Leistungsfähigkeit eines Computergrafiksystems durch die Nutzung der Fähigkeiten dieser ungenutzten Grafikhardware, z.B. der oben erwähnten Anzeigeadapter, in Verbindung mit einer durch die System-CPU gesteuerten Verarbeitung optimiert, wird in EP-A-0442682 beschrieben.
- Es wäre vorteilhaft, über ein Grafiksystem mit der Fähigkeit zum Aufrufen dieser ungenutzten Grafikanzeigeadapter-Hardware in Verbindung mit dem zuvor erläuterten Schema zur Prioritätsvergabe zu verfügen.
- Normalerweise verwendet ein Computergrafikbenutzer, der Lichtstärkenberechnungen durchführen möchte, eine dreidimensionale (3D-) Anzeigeadapter-Hardwareeinheit 16, beispielsweise einen von der IBM verkauften 2781 (Hochleistungs-3D-Farbgrafikprozessor). Die 3D-Lichtstärken-Hardware beinhaltet einen Teil, der speziell Schattierungsvorgänge ausführen kann. Normalerweise unterstützt diese Schattierungshardware die Gouraud- Schattierung, wie oben erläutert wurde, obwohl eine andere Schattierungshardware unter Verwendung von Farbinterpolationsverfahren durch den Umfang der vorliegenden Erfindung in Be- tracht kommt. Während eines normalen Lichtstärkenvorgangs wird die Schattierungshardware als eine Hardwareunterstützung verwendet, um der System-CPU beim Erreichen der gewünschten Lichtstärke eines angezeigten Bildes zu helfen. Die Erfindung in EP- A-0442682 verwendet diese Hardware-Unterstützungsfähigkeit während Berechnungen, die keine Lichtstärkenberechnungen sind, insbesondere während der Farbabbildung, beispielsweise bei Strahlengangverfolgungsvorgängen.
- Bezugnehmend auf Figur 1 wird ein Blockdiagramm eines Systems, in dem die vorliegende Erfindung verwendet werden kann, gezeigt. Eine Anzeige 10, z.B. eine Katodenstrahlröhre oder dergleichen, wird mit einer Vielzahl von Bildelenenten gezeigt, die durch Bezugsziffern 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13 und N dargestellt sind. Ein Anzeigeadapter 16, der normalerweise zum Ausführen der Wiedergabe der Geometrie verwendet wird, wird dargestellt und enthält einen Schattierungsprozessor 12 und die gesamte andere zugeordnete Hardware. Diese Hardware kann Puffer, beispielsweise einen Rahmenpuffer, Fensterpuffer, Z-Puffer oder dergleichen enthalten. Eine System-CPU 18 wird bereitgestellt, die die gesamte Farbabbildung, beispielsweise Strahlengangverfolgungsberechnungen, ausführt. Außerdem wird in Figur 1 der Systemhauptspeicher 20 gezeigt.
- Üblicherweise weist eine Anwendungsprogrammschnittstelle (API) 22 über den Bus 26 den 3D-Lichtstärken-Anzeigeadapter an, die Wiedergabe der Geometrie auszuführen. Darin können die Bestimmung der Position und Auswirkungen einer Lichtquelle sowie eine Farbinterpolation einer Oberfläche für Schattierungen enthalten sein. Es sei darauf hingewiesen, daß in herkömmlichen Systemen während der Wiedergabe der Geometrie von der CPU 18 keine Farbabbildung-ausgeführt wird. Annlich kann von Systemen nach dem Stand der Technik während der Zeit, in der von der CPU 18 Farbabbildungsberechnungen realisiert werden, keine Wiedergabe der Geometrie ausgeführt werden.
- Zur Ausführung der Farbabbildung in einer Strahlengangverfolgungsumgebung wird zuerst eine Szenenbeschreibung im Hauptspeicher 20 gespeichert. Diese Szenenbeschreibung ist eine Textdarstellung oder eine alphanumerische Darstellung der anzuzeigenden Szene. Eine Szenenbeschreibung enthält beispielsweise geonetrische Beschreibungen aller Objekte sowie ihre Farbwerte (r, g, b) und ihren Oberflächentyp. Außerdem ist die Beschaffenheit jedes Objektes in der Szenenbeschreibung enthalten, d.h. ob das Objekt transparent, undurchsichtig, reflektierend oder dergleichen ist.
- Bei der Realisierung eines Strahlengangverfolgungsvorgangs gibt ein Programmanwendungsbenutzer der System-CPU über die API 22 und den Bus 23 die Anweisung, eine Reihe von Vektor- (Strahl-) Berechnungen für jedes Bildelement auf der Anzeige 10 auszuführen. Die System-CPU 18 beginnt beim Bildelement 1 und verfolgt einen Strahl von einem Ansichtspunkt direkt vor diesem Bildelement durch das Bildelement in der Bildebene und in die Szene zurück. Falls beispielsweise festgestellt wird, daß ein Strahl 1 (Bildelement 1 entsprechend) anfänglich die Oberfläche des Ozeans schneidet, wird eine Lichtstärkenberechnung an der Stelle des Schnittpunktes zwischen dem Strahl 1 und der Oberfläche berechnet, und die CPU 18 koloriert das Bildelement 1 mit der berechneten Schattierung. In diesem Beispiel werden von der CPU 18 viele Gleitkomma-Vektorberechnungen ausgeführt. Falls die entsprechende Szenenbeschreibung beim Bildelement N ein konvexes, reflektierendes Objekt ist, z.B. eine verspiegelte Kugel, schließt die Strahlengangverfolgungsberechnung außerdem eine Rückverfolgung entlang eines ersten Strahls vom Ansichtspunkt durch das Bildelement N zur Stelle des Schnittpunktes mit der reflektierenden Oberfläche ein, wobei der Reflexionswinkel berechnet wird, um einen Reflexionsstrahl zu erzeugen, der anschließend zur Feststellung seines nächstgelegenen Schnittpunktes mit einem Objekt rückverfolgt wird. Diese Reflexionsstrahlen werden erzeugt und rückverfolgt, bis ein Schnittpunkt mit einen nichtreflektierenden Objekt gefunden wird, wobei an dieser Stelle ein Schattenstrahl erzeugt wird, der ein Strahl von der Stelle des Schnittpunktes zur Lichtquelle ist. Falls entlang dieses Strahls irgendwelche dazwischenliegenden Schnittpunkte, z.B. Schnittpunkte mit anderen Objekten, gefunden werden, wird festgestellt, daß sich der primäre Schnittpunkt in einem Schatten befindet, und die von der CPU 18 ausgeführte Lichtstärkenberechnung wird entsprechend angeglichen. Bei der Beendigung-der Lichtstärkenberechnung an dieser-Stelle des Schnittpunktes wird das Bildelement N mit der berechneten Schattierung koloriert. Folglich ist zu erkennen, wie eine Anzahl reflektierender Objekte in der Szenenbeschreibung extrem zeitaufwendige und mühsame Berechnungen erzeugen können, die von der CPU 18 ausgeführt werden müssen. Es ist nicht ungewöhnlich, daß Stunden oder sogar Tage vergehen, bevor eine Szenenbeschreibung auf einer Katodenstrahlröhre 10 vollständig angezeigt wird. Dieser Zeitaufwand kann für Benutzer von Computergrafiksystemen enorm belastend sein. Beispielsweise ist es möglich, daß ein Benutzer eines Computergrafik-Animationssystems den ganzen Tag warten muß, bis die in Betracht gezogene Szene tatsächlich angezeigt wird, so daß entschieden werden kann, ob die Szenenbeschreibung geändert werden muß. Es sei darauf hingewiesen, daß der Anzeigeadapter 16 die zuvor beschriebene Lichtstärken-Hardware und der Prozessor 12 den Schattierungs- Hardwareteil des Anzeigeadapters 16 darstellen.
- Nach der Beendigung der Strahlengangverfolgungsberechnung überträgt die CPU 18 die berechnete Farbe für dieses Bildelement über den Bus 24 zur Anzeige 10. Wieder bleibt der Anzeigeadapter 16, einschließlich des Schattierungsprozessors 12, während der Strahlengangverfolgungsberechnung unbenutzt. Zur Erhöhung der Wiedergabegeschwindigkeit oder für eine leistungsfähigere Ausführung der Farbabbildung kann der Schattierungsprozessor 12 verwendet werden, um einen Prozentsatz der Bildelemente eines Bildes durch Farbinterpolationen einer Untergruppe der Bildelemente, deren Strahlengang rückverfolgt wurde, zu kolorieren.
- Eine Anzahl Anzeigeadapter, zum Beispiel die zuvor erwähnte 3D- Lichtstärken-Hardware 16, können Vielecke auf der Anzeige 10 ausfüllen (kolorieren). Unter typischen Betriebsbedingungen für die Farbabbildung löst die CPU 18 einzelne Bildelemente auf, wie von einer Programmanwendung angegeben wird, und überträgt diese Bildelemente zum Anzeigen direkt zur Katodenstrahlröhre 10. Der Adapter 16 kann jedoch über den Schattierungsprozessor 12 Vielecke durch Interpolationsverfahren, beispielsweise Gouraud-Schattierung oder dergleichen, kolorieren. Im allgemeinen sind diese Vielecke einfache Vielecke, zum Beispiel Quadrate, Rechtecke, Dreiecke und Trapezoide. Diese Fähigkeit der Anzeigeadapter-Hardware 16 zur Farbinterpolation einfacher Vielecke kann genutzt werden, um die Geschwindigkeit eines Farbabbildung ausführenden Computergrafiksystems zu steigern, wie in EP-A- 0442682 beschrieben wird.
- Insbesondere bestimmt ein Benutzer des Computergrafiksystems aus Figur 1 die Anzahl (oder den Prozentsatz) von Bildelementen, die in Farbe abgebildet werden sollen oder deren Strahlengang rückverfolgt werden soll, bevor dazwischen die Farbinterpolation ausgeführt wird. Es kann beispielsweise der Wunsch eines Benutzers sein, daß der Strahlengang von jedem zweiten (eines von zwei) Bildelement rückverfolgt wird, so daß die Bildelemente 1, 3, 5 und 7 nacheinander Strahlengangverfolgungsberechnungen unterworfen werden. Nach Beendigung dieser vier Berechnungen durch die CPU 18 werden ihre jeweiligen Farbwerte über den Bus 28 zum Schattierungsprozessor 12 des Anzeigeadapters 16 weitergeleitet. In diesem Beispiel sind die Bildelemente 1, 3, 5 und 7 die Grenzen eines Quadrates, das der Anzeigeadapter 16 ausfüllen kann. Folglich ist die CPU 18 nun frei, um die Strahlengangverfolgung für einen anderen Teil der Szenenbeschreibung, zum Beispiel den von den Bildelementen 3, 5, 11 und 13 begrenzten Teil, fortzusetzen. Inzwischen hat der Schattierungsprozessor 12 des Anzeigeadapters 16 die Farbe der Bildelemente 2, 4, 6, 8 und 9 aus den bekannten Farben der Bildelemente 1, 3, 5, und 7, deren Strahlengang rückverfolgt wurde, interpoliert. Folglich ist es offensichtlich, daß dieses Verfahren die Geschwindigkeit, mit der ein einer Strahlengangverfolgung unterzogenes Bild in einem Grafiksystem wiedergegeben wird, erheblich steigert. Das heißt, von den in Figur 1 gezeigten Bildelementen-l bis 9 wird tatsächlich nur der Strahlengang von vier Bildelementen 1, 3, 5 und 7 rückverfolgt, wohingegen fünf Bildelemente 2, 3, 6, 8 und 9 von einem anderen Prozessor koloriert werden. Es sei darauf hingewiesen, daß ein Benutzer die Anzahl und Konfiguration von Bildelementen, deren Strahlengang rückverfolgt werden soll, wählen kann. Ein Extrem ist, daß der Strahlengang der vier Eckbildelemente einer Anzeige 10 rückverfolgt werden kann, wobei die restlichen Bildelemente des Bildschirms farbinterpoliert werden. Das andere Extrem kann einen hohen Prozentsatz aller Bildelemente entlang der Reihen und Spalten von Bildelementen auf der Anzeige 10 (siehe Fig. 3) für die Strahlengangverfolgung bereitstellen. Indem der Strahlengang von einem von zwei Bildelementen rückverfolgt wird, werden nur 25 Prozent aller Bildelemente möglicherweise Strahlengangverfolgungsvorgängen unterworfen. Die oben erläuterte Strahlengangverfolgung von jedem zweiten Bildelement hat die Wiedergabegeschwindigkeit mit einer äußerst geringfügigen Verschlechterung der Auflösung erheblich gesteigert. Die erhöhte Wiedergabegeschwindigkeit überwiegt diese geringfügige Verschlechterung der Auflösung bei weitern.
- Figur 2 ist ein Flußdiagramm, das die zum Aufrufen und Nutzen der Fähigkeit des Schattierungsprozessors 12 benötigten Schritte zeigt.
- Im Schritt 1 wird das Verfahren zur Hardware-Nutzung durch einen Benutzer eines Computergrafiksystems eingeleitet. Als nächstes legt der Benutzer oder vielleicht eine zugeordnete Programmanwendung einen Prozentsatz von Bildelementen fest, deren Strahlengang rückverfolgt werden soll. Dieser Prozentsatz kann im Bereich von einem sehr kleinen Teil aller Bildelemente bis hin zu 100% liegen, wobei in letzterem Fall der Strahlengang des gesamten Bildschirms (aller Bildelemente) rückverfolgt wird. Wie oben angemerkt wurde, wurde festgestellt, daß ungefähr 25% eine gute Auflösung und eine gewaltige Erhöhung der Abbildungsgeschwindigkeit liefern. Der Schritt 3 bestimmt die Konfiguration der Bildelemente, deren Strahlengang rückverfolgt wird und die zum Auffüllen zum Anzeigeadapter 16 übertragen werden. Das heißt, die Konfiguration der Bildelemente mit Strahlengangverfolgung als ein Quadrat, Kreis, Rechteck, Trapezoid oder ein anderes Vieleck wird bestimmt, wodurch es gestattet wird, daß der Anzeigeadapter den zwischen diesen vieleckig konfigurierten Bildelementen nit Strahlengangverfolgung liegenden Bereich (die Bildelemente) ausfüllt.
- Anschließend werden die eigentlichen Strahlengangverfolgungsberechnungen von der CPU 18 des Computergrafiksystems ausgeführt (Schritt 4). Im Schritt 5 werden dann die Farbwerte für diese Bildelemente mit Strahlengangverfolgung und ihre Konfiguration von der CPU 18 und über den Bus 28 zum Anzeigeadapter 16 übertragen. Außerdem füllt der Schattierungsprozessor 12 im Schritt 5 die zwischen diesen Bildelementen mit Strahlengangverfolgung liegenden Bildelemente aus (Farbinterpolation) und zeigt die Bildelemente, deren Strahlengang rückverfolgt wurde, und die farbinterpolierten Bildelemente als ein gefülltes Vieleck auf der Anzeige 10 an. Der Schritt 6 bestimmt, ob bei dem Prozentsatz von Bildelementen, deren Strahlengang rückverfolgt werden soll (im Schritt 2 bestimmt), tatsächlich eine Strahlengangverfolgung stattgefunden hat. Ist dies der Fall, geht der Prozeß weiter zum Schritt 7 und endet. Falls jedoch Bildelemente übrigbleiben, deren Strahlengang rückverfolgt werden muß, kehrt der Prozeß zum Schritt 4 zurück, wo eine zusätzliche Strahlengangverfolgung ausgeführt wird. Außerdem sei darauf hingewiesen, daß die CPU 18 die Strahlengangverfolgung fortsetzen und die zuvor farbinterpolierten Bildelemente in Farbe abbilden kann, obwohl der Schritt 7 den Prozeß beendet.
- Figur 3 zeigt eine andere Konfiguration der Bildelemente auf der Anzeige 10. Es-sei darauf hingewiesen, daß Punkte in Farbe abgebildete Bildelemente und Xe farbinterpolierte Bildelemente darstellen. Zum Aufrufen der Konfiguration von Fig. 3 würde die CPU 18 jedes zweite Bildelement entlang der ersten Zeile (Reihe 0) der Anzeige 10 in Farbe abbilden, d.h. die Bildelemente 0, 2, 4, 6, 8, 10, 12 und so weiter. Als nächstes verfolgt die CPU 18 den Strahlengang der Bildelemente 0, 2 der Reihe 2, so daß von den Bildelementen 0, 2 der Reihe 0 und den Bildelementen 0, 2 der Reihe 2 ein Vieleck (in diesem Fall ein Quadrat) begrenzt wird. Dieses Vieleck wird anschließend zum Schattierungsprozessor 12 übertragen, der Farbwerte für das Bildelement 1 der Reihe 0, die Bildelemente 0, 1, 2 der Reihe 1 und das Bildelement 1 der Reihe 2 interpoliert. Anschließend wird dieser Block von Bildelementen auf der Katodenstrahlröhre 10 angezeigt.
- Gleichzeitig mit der Anzeige des ersten Blocks von Bildelementen bildet die CPU 18 das Bildelement 4 der Reihe 2 in Farbe ab, das ein anderes Quadrat bildet, da zuvor der Strahlengang der restlichen drei begrenzenden Bildelemente rückverfolgt wurde. Für diesen zweiten Blpck wird anschließend vom Schattierungsprozessor 12 eine Farbinterpolation ausgeführt, und es werden Werte für das Bildelement 3 der Reihe 0, die Bildelemente 3, 4 der Reihe 1 und das Bildelement 3 der Reihe 2 gefunden. Daher ist zu erkennen, wie durch die Strahlengangverfolgung eines zusätzlichen Bildelementes, beispielsweise des Bildelementes 4 der Reihe 2, vier Bildelemente farbinterpoliert werden können. Außerdern ist zu erkennen, wie durch die Abbildung des Bildelementes 6 der Reihe 2 ermöglicht wird, daß weitere vier Bildelemente farbinterpoliert werden und so weiter. Auf diese Weise, d.h. unter Verwendung des Prozessors 12 als eine Hardware-Unterstützung zur Farbabbildung, können Tausende von Bildelementen, die auf einer typischen Katodenstrahlröhre vorhanden sind,in Farbe abgebildet und farbinterpoliert werden, um eine komplexe Szene anzuzeigen, die andernfalls Stunden oder Tage zur Anzeige benötigen würde.
- Bezugnehmend auf die Figuren 4, 5 und 6 wird nun eine bevorzugte Ausführungsform der vorliegenden Erfindung beschrieben. Das Verfahren, mit dem die vorliegende Erfindung Prioritäten für Bildelemente, deren Strahlengang rückverfolgt werden soll, vergibt, wird nun ausführlich bezugnehmend auf das Flußdiagramm von Fig. 4 beschrieben.
- Das Schema zur Prioriätsvergabe der vorliegenden Erfindung kann in der Situation, in der der Strahlengang aller Bildelemente rückverfolgt werden muß, angewandt werden, ist jedoch ebenso für die hierin zuvor beschriebene Situation geeignet, in der für einige Bildelemente eine Strahlengangverfolgung ausgeführt wird und einige Bildelemente farbinterpoliert werden.
- Im Schritt 1 beginnt der Prozeß, und im Schritt 2 initialisiert ein Benutzer dieses Schema zur Prioritätsvergabe durch die Zuweisung von Prioritätswerten zu Objekten, die in einer bestimmten Szene enthalten sind. Figur 6 stellt beispielsweise eine Szenenbeschreibung dar, die auf einem Bildschirm 10 angezeigt werden soll, wobei die Bezugsziffern 60 und 62 Hintergrundobjekte und die Bezugsziffern 64 und 66 andere Objekte darstellen. Folglich weist ein Benutzer im Schritt 2 jedem dieser Objekte (60, 62, 64 und 66) einen Prioritätswert zu.
- Anschließend wird im Schritt 3 eine sich auf die Objekte, für die Prioritäten vergeben wurden, beziehende Liste erzeugt und in einem Puffer oder einer anderen Speichereinheit gespeichert, die Bereiche der Szene, für die Prioritäten vergeben wurden, speichern kann. Als nächstes ruft das System im Schritt 4 den Bereich auf dem Bildschirm mit der höchsten Priorität aus der zuvor erzeugten Liste ab. Dieser abgerufene Bereich wird anschließend in Schritt 5 unterteilt. Der Bildschirm 10 kann in eine beliebige Anzahl von Bereichen unterteilt werden, anfänglich kann der gesamte Anzeigebildschirm 10 jedoch der einzige in der Liste enthaltene Bereich sein. In diesem Fall würde die gesamte Fläche des Anzeigebildschirms 10 während der Initialisierung dieses Prozesses im Schritt 5 unterteilt werden, wodurch sich eine Vielzähl unterteilter Bereiche ergibt. Diese Unterteilung kann stattfinden, indem der Bereich in Rechtecke oder Dreiecke halbiert wird oder indem der Bereich in vier ähnliche Bereiche unterteilt wird, wie in Fig. 6 gezeigt wird. Im Schritt 6 wird der Strahlengang des zuvor unterteilten Bereichs rückverfolgt, wobei nur die Scheitelpunkte dieses unterteilten Bereiches der Strahlengangverfolgung unterworfen werden, d.h. im Schritt 6 wird der Strahlengang der 4 Bildelemente an den Scheitelpunkten eines Quadrates rückverfolgt. Anschließend zeigt der Schritt 7 den unterteilten Bereich durch eine Farbinterpolation aller Bildelemente, deren Strahlengang nicht rückverfolgt wurde, an.
- Im Schritt 8 vergibt das System der vorliegenden Erfindung Prioritäten für die Bereiche, die zuvor unterteilt, deren Strahlengang rückverfolgt wurde und die angezeigt wurden. In diesem Schritt erhält jeder Bereich, der ein Bildelement enthält, das farbinterpoliert wurde, und der einen höheren zugewiesenen Prioritätswert als andere Bereiche hat, einen vorteilhafteren Status. Das heißt, nachfolgende Wiederholungen von Schritt 4 bewirken, daß die vorliegende Erfindung den nächsten Bereich mit der höchsten Priorität auswählt. Der Schritt 8 fügt außerdem die unterteilten Bereiche, für die Prioritäten vergeben wurden, der zuvor im Schritt 3 erzeugten Liste hinzu, falls dies nötig ist. Falls der Strahlengang aller Bildelemente in einem gegebenen Bereich rückverfolgt worden wäre, müßte dieser Bereich nicht der Liste hinzugefügt werden. Es sei darauf hingewiesen, daß der Schritt 8 außerdem den Schritt des Sortierens der unterteilten Bereiche, für die Prioritäten vergeben wurden, beinhaltet, so daß sich die Bereiche mit der höchsten vergebenen Priorität (jene mit den höchsten Prioritätswerten) stets am Anfang der Liste befinden und vor irgendwelchen unterteilten Bereichen mit geringerer Priorität unterteilt werden. Der Schritt 8 enthält außerdem die Berechnung eines Prioritätswertes für jeden unterteilten Bereich. Diese Priorität kann eine heuristische Funktion verschiedener, von jedem Bereich bekannter Faktoren sein. Ein bedeutender Faktor ist die Größe, d.h. größere Bereiche haben eine größere Anzahl von Bildelementen, für die keine Strahlengangverfolgung stattgefunden hat, und der Bedarf an einer Unterteilung kann bei diesen Bereichen größer sein. Ein anderer Faktor bei der Bestimmung der Priorität ist die Änderung der Farbe zwischen den Bildelementen, deren Strahlengang im Schritt 6 rückverfolgt wird. Falls beispielsweise der Strahlengang von 4 Bildelementen, von denen sich 2 hinsichtlich der Farbe sehr stark von den beiden anderen unterscheiden, bis zum Schritt 6 rückverfolgt wurde, besteht ein Hinweis, daß zwischen diesen Bildelementen eine große Änderung in der Farbe stattfindet, die es erforderlich macht, daß die Priorität aufgrund der Wahrscheinlichkeit, daß sich der Rand eines Objektes in diesem Bereich befindet, auf diesen Bereich konzentriert wird. Ein anderer Faktor ist-die persönliche Priorität, die der Benutzer Objekten, auf die er bei der Strahlengangverfolgung trifft, zugewiesen hat. Das heißt, ein Animator oder dergleichen kann sich auf eine Szenenbeschreibung konzentrieren, in der ein einziges Objekt oder eine einzige Figur das Zentrum dieser bestimmten Beschreibung ist. Daher kann es der Wunsch des Benutzers sein, dem Objekt, das sich im Zentrum der Szene befindet, eine sehr hohe Priorität und den umgebenden Bereichen niedrigere Prioritäten zuzuweisen, damit das zentrale Objekt schneller angezeigt wird. Die Beschaffenheit des in der Szenenbeschreibung enthaltenen Objektes ist ebenfalls ein zu berücksichtigender Faktor. Beispielsweise kann ein reflektierendes Objekt oder ein Objekt mit mehreren Oberflächen aufgrund der Kompliziertheit dieses Objektes und der Menge darauf enthaltener Kanten und verschiedener Oberflächen eine höhere Priorität benötigen.
- Im Schritt 9 wird dann bestimmt, ob die-Liste leer ist, d.h. ob Bereiche übrigbleiben, die Bildelemente enthalten, deren Strahlengang nicht rückverfolgt wurde. Falls die Liste leer ist, geht das Prioritätsvergabeschema der vorliegenden Erfindung weiter zum Schritt 10 und endet, woraus sich eine Szene ergibt, deren Strahlengang vollständig rückverfolgt wurde. Falls die Liste im Schritt 9 jedoch nicht leer war, d.h. Bereiche der Szene enthalten Bildelemente, deren Strahlengang nicht rückverfolgt wurde, kehrt der Prozeß zurück zum Schritt 41 der den Bereich mit der höchsten Priorität von der Liste erhält. Als nächstes wird ein Beispiel der vorliegenden Erfindung mit Bezugnahme auf die Figuren 5 und 6 beschrieben, die verschiedene Ausführungsformen davon darstellen. Bezugnehmend auf Figur 6 wird als erstes ein Szenenbeispiel gezeigt, wobei den Bezugsziffern 60 und 62 sowie 64 und 66 Prioritätswerte zugewiesen wurden (Schritt 2). In diesem Fall wird angenommen, daß die Bezugsziffern 60 und 62 Prioritätswerten 15 bzw. 10 entsprechen, während die Bezugsziffern 64 und 66 Prioritätswerten 50 bzw. 25 entsprechen. Unter der Voraussetzung, daß die Liste erzeugt wurde (Schritt 3), es keine höchste Priorität auf der Liste gibt (Schritt 4, da der Prozeß nun initialisiert wird) und der Bereich anfänglich in unterteilte Bereiche unterteilt wurde (Schritt 5, wiederum da dies die Initialisierung des Prozesses ist), wird das Prioritätsvergabeschema der vorliegenden Erfindung angewandt. Als nächstes wird der Strahlengang des unterteilten Bereiches rückverfolgt, so daß der Strahlengang der durch die Bezugsziffern 100, 102, 104 und 106 bezeichneten Bildelemente rückverfolgt wird. Diese Bildelemente werden anschließendangezeigt (Schritt 7), und für die Bereiche, die diese Bildelemente enthalten, werden Prioritäten vergeben, und sie werden der Liste hinzugefügt (Schritt 8). In diesem Fall ist das Bildelement 106 in einem Bereich des Objektes 66 enthalten, das einen Prioritätswert von 25 hat, wohingegen das Bildelement 100 ein Bereich mit dem Prioritätswert von 15 ist und das Bildelement 102 sich in einem Bereich mit einem Prioritätswert von 10 befindet. Daher findet die nächste Unterteilung des Anzeigebildschirms 10 im Bereich mit der höchsten Priorität, d.h. dem Bereich, der das Bildelement 106 enthält, statt. An dieser Stelle bestimmt der Prozeß, ob die Liste leer ist (was nicht der Fall ist), und kehrt anschließend zurück zum Schritt 4 und ruft den unterteilten Bereich mit der höchsten Priorität aus der Liste ab (in diesem Fall den Bereich, der das Bildelement 106 enthält). Der Schritt 5 unterteilt sodann den Bereich in Quadranten und verfolgt den Strahlengang dieses unterteilten Bereiches (in diesem Fall die Bildelemente 108, 110 und 112). Anschließend werden diese Bildelemente im Schritt 7 angezeigt (die Bildelemente, deren Strahlengang nicht rückverfolgt wurde, werden durch Farbinterpolation ebenfalls angezeigt), und im Schritt 8 wird für diesen Bereich wieder eine Priorität vergeben. An dieser Stelle des Beispiels ist das Bildelement 106 im Objekt 66 enthalten und hat einen Prioritätswert von 25, das Bildelement 108 hat wie das Bildelement 112 einen Prioritätswert von 15. Das Bildelement 110 ist jedoch in einem Bereich des Objektes 64 enthalten und hat daher einen Prioritätswert von 50. Diesem Bereich, der das Bildelement 110 enthält, wird dann die höchste Priorität zugewiesen, und er wird zusammen mit den anderen Bereichen, die die Bildelemente 108, 106 und 112 enthalten, der Liste hinzugefügt. Wieder wird der Bereich in Quadranten unterteilt, und der Strahlengang der Scheitelpunkte wird rückverfolgt; in diesem Beispiel wird der Strahlengang der Bildelemente 124, 122 und 120 verfolgt, und jedes hat einen Prioritätswert von 15, der nicht größer als der Prioritätswert des Objektes 64 ist, das das Bildelement 110 enthält. Nachdem diese Bereiche der Liste hinzugefügt und im Schritt 8 sortiert wurden, wird dieser unterteilte Bereich daher wieder unterteilt und bei den Bildelementen 138, 134 und 136 einer Strahlengangverfolgung unterzogen. Da dieser Bereich weiter unterteilt wird, ist zu erkennen, daß die Bildelemente 140, 142 und 144 alle in einem Objekt 64 mit einem Prioritätswert von 50 enthalten sind. Daher ist dieser Bereich derjenige mit der höchsten Priorität, der im Schritt 8 der Liste hinzugefügt wird, und erhält bezüglich der Strahlengangverfolgung von im Objekt 64 enthaltenen Bildelementen weiterhin die maximale Priorität (aufgrund des im Schritt 4 stattfindenden Sortierens der Prioritätswerte). Es sei darauf hingewiesen, daß der Prozeß nach der ursprünglichen Strahlengangverfolgung der Bildelemente 110, 112, 106 und 108 weitergegangen wäre, um die Strahlengangverfolgung aüf das Objekt 66 zu konzentrieren, falls sein Prioritätswert höher als der Prioritätswert vom Objekt 64 gewesen wäre, und dieselbe zuvor erläuterte Beschreibung könnte unter diesen Umständen ebenfalls angewandt werden. In diesem Fall hätte ein Benutzer entschieden, daß das Objekt 66 wichtiger als das Objekt 64 ist. Außerdem sei darauf hingewiesen, daß die vorliegende Erfindung die nächsthöhere Prioritätstufe sucht und die Strahlengangverfolgung in diesem Bereich konzentriert, wenn die Strahlengangverfolgung für das Objekt 64 beendet ist. Unter Fortsetzung des vorherigen Beispiels wird der Prioritätsbereich des Objektes 64 im Schritt 8 nicht mehr der Liste hinzugefügt, wenn der Strahlengang dieses Objektes rückverfolgt wurde. Daher sind die unterteilten Bereiche, die den Prioritätsbereichen des Objektes 66 (Prioritätswert 25) entsprechen, die in der Liste enthaltenen Bereiche mit der höchsten Priorität, und die darin enthaltenen Bildelemente werden einer höheren Konzentration von Srahlengangverfolgung unterworfen.
- Bezugnehmend auf Figur 5 wird ein anderes Beispiel der vorliegenden Erfindung beschrieben. Es wird eine Anzeige 10 gezeigt, die die überlappenden Fenster 50 und 52 enthält. In diesem Fall überlappt das Fenster 52 das Fenster 50, wobei es eine Ecke 56 des Fensters 50 teilweise überlagert. Da diese Ecke 56 vom Ansichtspunkt aus teilweise überlagert wird, kann ihr ein extrem niedriger Prioritätswert zugewiesen werden, wobei das System und Verfahren der vorliegenden Erfindung auf die Szenenbeschreibung des Fensters 50, das vom Fenster 52 nicht teilweise überlagert wird, konzentriert wird. In diesem Fall würden dem Objekt 58 und dem Hintergrund 54 höhere Prioritätswerte als der Ecke 56 zugewiesen, und daher würden diese mit einer viel höherengeschwindigkeit angezeigt.
- Das vorhergehende Beispiel wurde für den Fall gegeben, in dem jedes auf einer Anleige 10 enthaltene Bildelement nicht angezeigt wird, bis sein Strahlengang rückverfolgt wurde. Zur weiteren Erhöhung der Geschwindigkeit, mit der eine Szenenbeschreibung angezeigt werden kann, kann das Prioritätsvergabeverfahren von Figur 4 mit dem Farbinterpolationsverfahren von Figur 2 kombiniert werden, wodurch die Leistung erheblich gesteigert wird In dem zuvor mit Bezugnahme auf Figur 6 erläuterten Beispiel kann der Strahlengang der Bildele-mente 100, 102, 104 und 106 durch die Anwendung des Prozesses von Figur 4 rückverfolgt werden, und im Schritt 7 von Fig. 4 können die dazwischenliegenden Bildelemente (der Rest der Anzeige) anschließend farbinterpoliert werden, wie durch den Prozeß von Figur 2 dargestellt wird. Anschließend wird außerdem der Strahlengang der Bildelemente 112, 106 und 108 rückverfolgt, und die restlichen, dazwischenliegenden Bildelemente (d.h. der obere rechte Quadrant) können farbinterpoliert werden. Folglich ist zu erkennen, wie die gesamte Szenenbeschreibung mit einer wesentlich höheren Geschwindigkeit angezeigt werden kann, indem das Schema zur Prioritätsvergabe für die Strahlengangverfolgung von Bildelementen mit dem Farbinterpolationsprozeß, der die zuvor betriebsbereite Anzeigeadapter-Hardware zum Kolorieren von Bildelementen auf der Anzeige 10 nutzt, kombiniert wird.
Claims (1)
1. Verfahren des Anzeigens einer Szene auf einem
Computeranzeigebildschirm, wobei bestimmte Bereiche der Szene
bestimmten, auf dem Anzeigebildschirm enthaltenen
Bildelementen entsprechen, wobei das Verfahren die folgenden
Schritte enthält:
Zuweisen von Prioritätswerten zu den bestimmten Bereichen
der angezeigten Szene;
Bestimmen einer Anzahl und Position von Bildelementen, die
in Farbe abgebildet werden sollen, wobei die Bildelemente
einen Bereich des Anzeigebildschirms einschließen;
Ausführen der Farbabbildungsberechnungen für die
festgestellte Anzahl von Bildelementen und Anzeigen dieser in
Farbe abgebildeten Bildelemente auf dem Bereich des
Anzeigebildschirms;
Aufteilen des Bereichs des Anzeigebildschirms in weiter
unterteilte Bereiche; und
Vergeben von Prioritäten für die unterteilten Bereiche
beim Auftreten der in Farbe abgebildeten Bildelemente
innerhalb der Szenenbereiche mit dem höchsten zugewiesenen
Prioritätswert.
2. Verfahren, wie es in Anspruch 1 beansprucht wird, das
außerdem die folgenden Schritte umfaßt:
Speichern von Daten, die die unterteilten Bereiche, denen
Prioritäten vergeben wurden, kennzeichnen; und
Fortsetzen des Prozesses vom Schritt der Farbabbildung
aus, bis alle Bildelemente angezeigt wurden.
3. Verfahren, wie es in Anspruch 2 beansprucht wird, wobei
der Schritt des Speicherns die Bereitstellung einer
sortierbaren Liste umfaßt, die Informationen bezüglich einer
Vielzahl der unterteilten Bereiche, denen Prioritäten
vergeben wurden, aufbewahren kann.
4. Verfahren, wie es in Anspruch 3 beansprucht wird, das
außerdern die folgenden Schritte umfaßt:
Hinzufügen der unterteilten Bereiche, denen Prioritäten
vergeben wurden, zu der Liste, nachdem die darin
enthaltenen Bildelemente angezeigt wurden;
Sortieren der in der Liste enthaltenen unterteilten
Bereiche, denen Prioritäten vergeben wurden, aufgrund des
zugewiesenen Prioritätswertes, der dem Bereich der
entsprechenden Szene zugeordnet wurde;
Abrufen des unterteilten Bereiches mit dem höchsten
zugewiesenen Prioritätswert aus der Liste;
Unterteilen des unterteilten Bereiches mit der höchsten
Priorität in weitere unterteilte Bereiche; und
Ausführen der Farbabbildungsberechnungen für eine
vorbestimmte Anzahl von Bildelementen, die im unterteilten
Bereich mit der höchsten Priorität enthalten sind.
-5. Verfahren, wie es in irgendeinem der vorhergehenden
Ansprüche beansprucht wird, wobei der Anzeigebildschirm eine
Vielzahl überlappender Fenster enthält, wobei der Schritt
des Zuweisens den Schritt des Zuweisens eines Wertes mit
niedriger Priorität zu den bestimmten Bereichen der Szene,
die von den überlappenden Fenstern teilweise überlagert
wird, enthält.
6. Verfahren, wie es in irgendeinem vorhergehenden Anspruch
beansprucht wird, das weiterhin den folgenden Schritt um-
Interpolieren von Farbwerten für alle verbleibenden
Bildelemente, die nicht in Farbe abgebildet wurden, und
Anzeigen der verbleibenden Bildelemente zusammen mit den in
Farbe abge bildeten Bildelementen auf dem Anzeigebildschirm
(10).
7. Verfahren, wie es in Anspruch 6 beansprucht wird, zur
Verwendung in einem System mit einem Prozessor, der für die
Ausführung von Farbschattierungen geeignet ist, wobei der
Prozessor zur Ausführung des Farbinterpolationsschrittes
verwendet wird.
8. System zur Anzeige einer Szene auf einem
Computeranzeigebildschirm, wobei bestimmte Bereiche der Szene bestimmten,
auf dem Anzeigebildschirm enthaltenen Bildelementen
entsprechen, wobei das System folgendes umfaßt:
einen Bezeichner zum Zuweisen von Prioritätswerten zu
bestimmten Bereichen der angezeigten Szene;
ein Schnittstellenmittel (20), das auf die Eingabe vom
Bezeichner zur Bestimmung einer Anzahl und Position von in
Farbe abzubildenden Bildelementen anspricht, wobei die
Bildelemente einen Bereich des Anzeigebildschirms
einschließen;
eine Verarbeitungseinheit (18) zum Ausführen der
Farbabbildungsberechnungen für die festgestellte Anzahl von
Bildelementen;
Mittel zum Anzeigen der in Farbe abgebildeten Bildelemente
auf dem Anzeigebildschirm (10);
Mittel zum Aufteilen des Bereichs des Anzeigebildschirms
in unterteilte Bereiche; und
Mittel zum Vergeben von Prioritäten für die unterteilten
Bereiche beim Auftreten der in Farbe abgebildeten
Bildelemente innerhalb der Szenenbereiche mit dem höchsten
zugewiesenen Prioritätswert.
9. System, wie es in Anspruch 8 beansprucht wird, das
außerdem folgendes umfaßt:
eine Bibliothek zum Speichern von Daten, die die
unterteilten Bereiche, denen Prioritäten vergeben wurden,
kennzeichnen; und
Mittel zum Fortsetzen des Farbabbildungsprozesses, bis
alle Bildelemente angezeigt wurden.
10. System, wie es in Anspruch 9 beansprucht wird, wobei die
Bibliothek eine sortierbare Liste von Informationen
bezüglich einer Vielzahl der unterteilten Bereiche, denen
Prioritäten vergeben wurden, speichern kann.
11. System, wie es in Anspruch 10 beansprucht wird, das
außerdem folgendes umfaßt:
Mittel zum Hinzufügen der unterteilten Bereiche, denen
Prioritäten vergeben wurden, zu der Liste, nachdem die
darin enthaltenen Bildelemente angezeigt wurden;
Mittel zum Sortieren der in der Liste enthaltenen
unterteilten Bereiche, denen Prioritäten vergeben wurden,
aufgrund des zugewiesenen Prioritätswertes, der dem Bereich
der entsprechenden Szene zugeordnet wurde;
Mittel zum Abrufen des unterteilten Bereiches mit dem
höchsten zugewiesenen Prioritätswert aus der Liste;
Mittel zum Unterteilen des unterteilten Bereiches mit der
höchsten Priorität in weitere unterteilte Bereiche; und
die Verarbeitungseinheit (18) zum Ausführen der
Farbabbildungsberechnungen für eine vorbestimmte Anzahl von
Bildelementen, die im unterteilten Bereich mit der höchsten
Priorität enthalten sind.
12. System, wie es in irgendeinem der Ansprüche 8 bis 11
beansprucht wird, wobei der Anzeigebildschirm (10) eine
Vielzahl überlappender Fenster enthält und der Bezeichner den
bestimmten Bereichen der Szene, die von den überlappenden
Fenstern teilweise überlagert wird, einen Wert mit
niedriger Priorität zuweist.
13. System, wie es in irgendeinem Anspruch der Ansprüche 8 bis
12 beansprucht wird, das weiterhin folgendes umfaßt:
Interpolationsmittel (12) zum Interpolieren von Farbwerten
für alle verbleibenden Bildelemente, die nicht in Farbe
abgebildet wurden, und zum Anzeigen der verbleibenden
Bildelemente auf dem Anzeigebildschirm (10).
14. System, wie es in Anspruch 13 beansprucht wird, in dem das
Interpolationsmittel (12) einen Prozessor umfaßt, der für
die Ausführung von Farbschattierungen geeignet ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/480,189 US5031117A (en) | 1990-02-13 | 1990-02-13 | Prioritization scheme for enhancing the display of ray traced images |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69127915D1 DE69127915D1 (de) | 1997-11-20 |
DE69127915T2 true DE69127915T2 (de) | 1998-03-26 |
Family
ID=23906999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69127915T Expired - Lifetime DE69127915T2 (de) | 1990-02-13 | 1991-02-11 | System und Verfahren von Prioritätsfarbabbildung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5031117A (de) |
EP (1) | EP0442683B1 (de) |
JP (1) | JP2986228B2 (de) |
DE (1) | DE69127915T2 (de) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222204A (en) * | 1990-03-14 | 1993-06-22 | Hewlett-Packard Company | Pixel interpolation in perspective space |
US5163126A (en) * | 1990-05-10 | 1992-11-10 | International Business Machines Corporation | Method for adaptively providing near phong grade shading for patterns in a graphics display system |
US5253339A (en) * | 1990-07-26 | 1993-10-12 | Sun Microsystems, Inc. | Method and apparatus for adaptive Phong shading |
JPH07104597B2 (ja) * | 1990-09-18 | 1995-11-13 | 大日本スクリーン製造株式会社 | 画像処理装置 |
TW241196B (de) * | 1993-01-15 | 1995-02-21 | Du Pont | |
US5579455A (en) * | 1993-07-30 | 1996-11-26 | Apple Computer, Inc. | Rendering of 3D scenes on a display using hierarchical z-buffer visibility |
US5701410A (en) * | 1996-09-09 | 1997-12-23 | Ford Motor Company | Method and system for detecting fault conditions on multiplexed networks |
US6522340B1 (en) | 1996-11-20 | 2003-02-18 | International Business Machines Corporation | Creating real-world objects |
US5920325A (en) * | 1996-11-20 | 1999-07-06 | International Business Machines Corporation | Prioritization of background display during animation |
US6111582A (en) * | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
US6057847A (en) * | 1996-12-20 | 2000-05-02 | Jenkins; Barry | System and method of image generation and encoding using primitive reprojection |
US6054985A (en) * | 1997-01-27 | 2000-04-25 | International Business Machines Corporation | Data processing system and method for simulating compound objects |
DE19714915A1 (de) * | 1997-04-03 | 1998-10-08 | Gmd Gmbh | Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens |
US6028608A (en) * | 1997-05-09 | 2000-02-22 | Jenkins; Barry | System and method of perception-based image generation and encoding |
JP2000293705A (ja) * | 1999-04-01 | 2000-10-20 | Mitsubishi Electric Corp | 3次元グラフィックス用描画装置、3次元グラフィックス用描画方法および3次元グラフィックス用描画プログラムを記録した媒体 |
US6636633B2 (en) * | 1999-05-03 | 2003-10-21 | Intel Corporation | Rendering of photorealistic computer graphics images |
US6556200B1 (en) * | 1999-09-01 | 2003-04-29 | Mitsubishi Electric Research Laboratories, Inc. | Temporal and spatial coherent ray tracing for rendering scenes with sampled and geometry data |
US7755629B2 (en) * | 2004-06-30 | 2010-07-13 | Canon Kabushiki Kaisha | Method of rendering graphic objects |
US8189002B1 (en) * | 2004-10-29 | 2012-05-29 | PME IP Australia Pty, Ltd. | Method and apparatus for visualizing three-dimensional and higher-dimensional image data sets |
US7973790B2 (en) * | 2005-08-11 | 2011-07-05 | Realtime Technology Ag | Method for hybrid rasterization and raytracing with consistent programmable shading |
FR2896895B1 (fr) * | 2006-02-01 | 2008-09-26 | Redway Soc Par Actions Simplifiee | Procede de synthese d'une image virtuelle par lancer de faisceaux |
US20070274607A1 (en) * | 2006-04-12 | 2007-11-29 | Jincheng Huang | Method of Creating a Reflection Effect in an Image |
US8392529B2 (en) | 2007-08-27 | 2013-03-05 | Pme Ip Australia Pty Ltd | Fast file server methods and systems |
WO2009067675A1 (en) | 2007-11-23 | 2009-05-28 | Mercury Computer Systems, Inc. | Client-server visualization system with hybrid data processing |
US9904969B1 (en) | 2007-11-23 | 2018-02-27 | PME IP Pty Ltd | Multi-user multi-GPU render server apparatus and methods |
WO2009067680A1 (en) | 2007-11-23 | 2009-05-28 | Mercury Computer Systems, Inc. | Automatic image segmentation methods and apparartus |
US8319781B2 (en) | 2007-11-23 | 2012-11-27 | Pme Ip Australia Pty Ltd | Multi-user multi-GPU render server apparatus and methods |
US10311541B2 (en) | 2007-11-23 | 2019-06-04 | PME IP Pty Ltd | Multi-user multi-GPU render server apparatus and methods |
KR20100132605A (ko) * | 2009-06-10 | 2010-12-20 | 삼성전자주식회사 | 하이브리드 렌더링 장치 및 방법 |
US8619078B2 (en) * | 2010-05-21 | 2013-12-31 | International Business Machines Corporation | Parallelized ray tracing |
US8629867B2 (en) | 2010-06-04 | 2014-01-14 | International Business Machines Corporation | Performing vector multiplication |
US8692825B2 (en) | 2010-06-24 | 2014-04-08 | International Business Machines Corporation | Parallelized streaming accelerated data structure generation |
US10070839B2 (en) | 2013-03-15 | 2018-09-11 | PME IP Pty Ltd | Apparatus and system for rule based visualization of digital breast tomosynthesis and other volumetric images |
US11244495B2 (en) | 2013-03-15 | 2022-02-08 | PME IP Pty Ltd | Method and system for rule based display of sets of images using image content derived parameters |
US8976190B1 (en) | 2013-03-15 | 2015-03-10 | Pme Ip Australia Pty Ltd | Method and system for rule based display of sets of images |
US11183292B2 (en) | 2013-03-15 | 2021-11-23 | PME IP Pty Ltd | Method and system for rule-based anonymized display and data export |
US10540803B2 (en) | 2013-03-15 | 2020-01-21 | PME IP Pty Ltd | Method and system for rule-based display of sets of images |
US9509802B1 (en) | 2013-03-15 | 2016-11-29 | PME IP Pty Ltd | Method and system FPOR transferring data to improve responsiveness when sending large data sets |
US11599672B2 (en) | 2015-07-31 | 2023-03-07 | PME IP Pty Ltd | Method and apparatus for anonymized display and data export |
US9984478B2 (en) | 2015-07-28 | 2018-05-29 | PME IP Pty Ltd | Apparatus and method for visualizing digital breast tomosynthesis and other volumetric images |
US10909679B2 (en) | 2017-09-24 | 2021-02-02 | PME IP Pty Ltd | Method and system for rule based display of sets of images using image content derived parameters |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8300872A (nl) * | 1983-03-10 | 1984-10-01 | Philips Nv | Multiprocessor-rekenmachinesysteem voor het tot een gekleurde afbeelding verwerken van in een hierarchische datastruktuur gedefinieerde objekt-elementen. |
US4627004A (en) * | 1982-10-12 | 1986-12-02 | Image Resource Corporation | Color image recording system and method for computer-generated displays |
JPS5991598A (ja) * | 1982-11-17 | 1984-05-26 | 株式会社日立製作所 | 複数測定値の表示装置 |
JPS61130991A (ja) * | 1984-11-30 | 1986-06-18 | 株式会社日立製作所 | 図形処理方法及び装置 |
US4805127A (en) * | 1985-03-12 | 1989-02-14 | Mitsubishi Denki Kabushiki Kaisha | Image describing apparatus |
US4720705A (en) * | 1985-09-13 | 1988-01-19 | International Business Machines Corporation | Virtual resolution displays |
JPS62231380A (ja) * | 1986-03-31 | 1987-10-09 | Namuko:Kk | 画像合成装置 |
JPS62262179A (ja) * | 1986-05-08 | 1987-11-14 | Fujitsu Ltd | 図形表示装置の表示更新方式 |
US4825391A (en) * | 1987-07-20 | 1989-04-25 | General Electric Company | Depth buffer priority processing for real time computer image generating systems |
ATE131297T1 (de) * | 1987-08-03 | 1995-12-15 | American Film Tech | Einrichtung und verfahren zur farbbildverbesserung. |
CA1309198C (en) * | 1987-12-10 | 1992-10-20 | Carlo J. Evangelisti | Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display |
US5051928A (en) * | 1987-12-28 | 1991-09-24 | Dubner Computer Systems, Inc. | Color correction for video graphics system |
-
1990
- 1990-02-13 US US07/480,189 patent/US5031117A/en not_active Expired - Fee Related
-
1991
- 1991-01-25 JP JP3023723A patent/JP2986228B2/ja not_active Expired - Fee Related
- 1991-02-11 EP EP91301075A patent/EP0442683B1/de not_active Expired - Lifetime
- 1991-02-11 DE DE69127915T patent/DE69127915T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5031117A (en) | 1991-07-09 |
DE69127915D1 (de) | 1997-11-20 |
JPH04215190A (ja) | 1992-08-05 |
EP0442683A2 (de) | 1991-08-21 |
EP0442683B1 (de) | 1997-10-15 |
JP2986228B2 (ja) | 1999-12-06 |
EP0442683A3 (en) | 1993-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69127915T2 (de) | System und Verfahren von Prioritätsfarbabbildung | |
DE10296401B4 (de) | Verbund-Rendering von 3-D-Graphikobjekten | |
DE69602728T2 (de) | Vorrichtung zur bildmanipulation und -generation | |
DE69328464T2 (de) | Methode zur Berechnung der Beleuchtung für Daten dreidimensionaler Objekte | |
DE69130132T2 (de) | Verfahren zur Erzeugung von Adressen zu texturierten, in RIP Maps gespeicherten graphischen Primitiven | |
DE69329049T2 (de) | Methode zur Verarbeitung von Daten, die dreidimensionale graphische Objekte repräsentieren | |
DE3854543T2 (de) | Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung. | |
DE68924389T2 (de) | Verfahren und Einrichtung zur Anzeige einer Vielzahl von graphischen Bildern. | |
DE69811849T2 (de) | Verfahren und gerät zur interpolation von attributen bei 3d-grafiken | |
DE69331486T2 (de) | Bilddatenverarbeitung | |
DE68927471T2 (de) | Verfahren zur Schattierung eines graphischen Bildes | |
DE3650129T2 (de) | Verfahren zur Kantenglättung für Rechnerbilderzeugungssystem. | |
DE3855231T2 (de) | Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing | |
DE69130545T2 (de) | System zur Erzeugung einer texturierten Perspektivsicht | |
DE69130127T2 (de) | System und Verfahren zur Farbbilderanzeige | |
DE69224499T2 (de) | Dreidimensionale graphische Verarbeitung | |
DE69833531T2 (de) | Vollszenen-Antialiasing mit verbesserten Überabtastungstechniken | |
DE3689271T2 (de) | Verfahren zur Bildanzeige. | |
DE69310293T2 (de) | Umscharte Maske mit Farbtabelle | |
DE69424716T2 (de) | Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung | |
DE69839277T2 (de) | Verfahren und anordnung zur ausführung von farbschlüsseln, transparenz und nebelfunktionen | |
DE69717965T2 (de) | Verfahren und vorrichtung zur darstellung von objekten mittels fenstern | |
DE69635403T2 (de) | Grafikbibliothek auf geteilten Ebenen | |
DE69914355T2 (de) | Bildverarbeitungsgerät | |
DE69609534T2 (de) | Rechnerbasierte 3D-Darstellungsverfahren und -System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8330 | Complete renunciation |