DE69428858T2 - Verfahren und Gerät zum Füllen von Polygonen - Google Patents

Verfahren und Gerät zum Füllen von Polygonen

Info

Publication number
DE69428858T2
DE69428858T2 DE69428858T DE69428858T DE69428858T2 DE 69428858 T2 DE69428858 T2 DE 69428858T2 DE 69428858 T DE69428858 T DE 69428858T DE 69428858 T DE69428858 T DE 69428858T DE 69428858 T2 DE69428858 T2 DE 69428858T2
Authority
DE
Germany
Prior art keywords
polygon
calculating
edge
displayed
displaying
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 - Fee Related
Application number
DE69428858T
Other languages
English (en)
Other versions
DE69428858D1 (de
Inventor
Avijit Saha
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69428858D1 publication Critical patent/DE69428858D1/de
Publication of DE69428858T2 publication Critical patent/DE69428858T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

  • Verfahren und Gerät zum Füllen von Polygonen Die vorliegende Erfindung bezieht sich im Allgemeinen auf Grafiksysteme für Rechner und insbesondere auf ein Verfahren und eine Vorrichtung zum Füllen von Polygonen, die angezeigt werden sollen.
  • In Grafiksystemen für Rechner ist es wünschenswert, ein zwei- und dreidimensionales grafisches Bild auf einer zweidimensionalen Anzeige darzustellen. Üblicherweise ist ein derartiges Bild ein Gebilde oder Abbild, das im Speicher als eine Gruppe von Polygonen oder Objekten gespeichert werden kann, die aus Polygonen mosaikartig zusammengesetzt sind. Um auf der Anzeige das Bild zu erzeugen, werden die Polygone dann unter Verwendung von Vorgängen dargestellt, die üblicherweise rechentechnisch sehr intensiv sind.
  • Fig. 1 ist eine Veranschaulichung von mehreren grafischen Polygonen, die auf einer Anzeige 10 dargestellt werden sollen. Polygon 20 ist ein Viereck, das durch die Spitzen A, B, C und D definiert ist. Polygon 21 ist ein Viereck, das durch Polygon 20 überlappt wird. Als Ergebnis ist das Viereck 21 so verändert worden, dass es ein Polygon mit sieben Kanten ist, das durch die Spitzen E, F, C, G, H, I und J definiert wird. Polygon 22 ist ein Dreieck, das ebenfalls durch Viereck 20 so überlappt wird, dass Dreieck 22 ein sechsseitiges Polygon ist, das durch die Spitzen K, L, M, N, B und 0 definiert wird. Es wird auch ein Kreis gezeigt, der mosaikartig in acht Dreiecke aufgeteilt worden ist, um unter Verwendung von Polygonen mit geraden Kanten den Kreis wirksam darzustellen. Die Dreiecke, die Kreis 25 bilden, werden durch Spitzen P, Q, R, S, T, U, V, W und X definiert. Dreieck 25A des aufgeteilten Kreises 25 wird beispielsweise durch Spitzen P, T und U definiert, und Dreieck 25B wird durch Spitzen P, U und V definiert.
  • Liang et al. legen in US-Patentschrift 4 758 965 eine Verfahrensweise zum Füllen von Polygonen dar, die dargestellt werden sollen. Liang et al. legen dar, zwei veränderte Bresenham-Liniengeneratoren zu benutzen. Die Bresenham- Liniengeneratoren werden dafür benutzt, die Kanten zum Polygon für die Anzeige zu erzeugen, während ebenfalls Parameter bereitgestellt werden, die dafür benutzt werden können, durch ein getrenntes Hardwareelement Füll-Linien zu erzeugen, welche die Kanten verbinden.
  • Britische Patentanmeldung GB 2 187 368 A beschreibt ein Verfahren, um ein grafisches Polygon darzustellen, das durch Verbindungskanten definiert wird, die das Innere eines Polygons umgeben, wobei das Verfahren Folgendes umfasst: Berechnen einer Vielzahl von Strecken, wobei jede Strecke einen Teil des Polygoninneren enthält; Berechnen mindestens eines Farbwertes für jede berechnete Strecke; und, unter Verwendung der berechneten Werte, Darstellen der Strecken auf einer Anzeige. Eine Schwierigkeit beim Darstellen mehrerer sich überlappender oder berührender Polygone, wie sie Liang et. al. enthalten, besteht im Darstellen der gemeinsamen Kanten der Polygone. Beispielsweise haben Dreiecke 25A und 25B Kante P → U gemeinsam. Bei vielen üblichen Darstellungstechniken kann die Kante P → U zweimal dargestellt werden, zum ersten Mal, wenn Dreieck 25A dargestellt wird, und zum zweiten Mal, wenn Dreieck 25B dargestellt wird. Dies ist jedoch ein unnötig aufwändiger Vorgang, bei dem der gleiche Bildpunkt gegebenenfalls mehr als einmal dargestellt wird, wodurch der Darstellvorgang verlangsamt wird. Zusätzlich können andere Techniken das Darstellen von Grenzlinien missachten oder andere nicht konsistente Verfahrensweisen benutzen, so dass es auf Kante P → U Zwischenräume geben kann, die während des Darstellens des jeweiligen Polygons nicht dargestellt werden. Dies führt zu Zwischenräumen oder leeren Stellen, die in der Mitte der mosaikartig aufgeteilten oder sich überlappenden Polygone frei bleiben. Es sei bitte auch angemerkt, dass mosaikartig aufgeteilter Kreis 25 üblicherweise eine einzige Farbe haben kann, wie etwa blau, dass aber Polygon 20 und 21 von unterschiedlicher Farbe sein können, wie etwa rot und grün. In jedem der vorstehend beschriebenen Fälle können Zwischenräume auftreten, die üblicherweise in der Hintergrundfarbe bleiben, die weiß sein kann, und sie können sich innerhalb des Polygons zeigen. Zusätzlich können die Kanten zwischen miteinander kollidierenden Farben, wenn sie mehrmals dargestellt werden, ausfransen und dem Auge missfallen.
  • Als Ergebnis der vorstehend beschriebenen Probleme sind Versuche unternommen worden, einen Satz Regeln bereitzustellen, um Polygone auszufüllen, um das Entstehen von Zwischenräumen und auch das zweimalige Darstellen von Bildpunkten zu vermeiden. Ein Beispiel dafür ist durch das X-Konsortium des M. I. T. (Massachusetts Institute of Technology) bekannt gemacht worden, es wird als X-Fill-Standard bezeichnet. Der X-Fill- Standard gibt an, dass alle Bildpunkte innerhalb der Kanten eines Polygons für dieses Polygon dargestellt oder ausgefüllt werden sollen. Zusätzlich soll der Bildpunkt, wenn sich ein Bildpunkt direkt auf oder gerade außerhalb einer Polygonkante befindet, nur dann dargestellt werden, wenn er sich auf der richtigen Seite des dargestellten Polygons befindet.
  • Nach der vorliegenden Erfindung wird nun ein Verfahren bereitgestellt, um ein grafisches Polygon darzustellen, wobei das Polygon durch Verbindungskanten definiert ist, die das Innere eines Polygons umgeben, wobei das Verfahren die folgenden Schritte umfasst: Berechnen einer Vielzahl von Strecken, wobei jede Strecke einen Teil des Polygoninneren umfasst; Berechnen mindestens eines Farbwertes für jede berechnete Strecke; und unter Verwendung der berechneten Werte Darstellen der Strecken auf einer Anzeige; wobei das Verfahren durch Folgendes gekennzeichnet ist: dass jene berechnete Strecke mindestens zwei Kantenpunkte auf jeder der mindestens zwei Kanten des Polygons enthält; dass der Schritt des Berechnens der Vielzahl von Strecken das Berechnen enthält, welcher der mindestens zwei Polygonkantenpunkte der Strecke nach einer Gruppe von Regeln dargestellt werden soll, die vorgibt, dass alle Punkte auf den Kanten eines Polygons dargestellt werden sollen; und dass, wenn sich ein Kantenpunkt direkt auf oder gerade außerhalb einer Polygonkante befindet, der Kantenpunkt nur dargestellt wird, wenn sich der Kantenpunkt auf einer ersten Seite des Polygons befindet; und dass der Schritt des Darstellens der Strecken nur dass Darstellen solcher Polygonkantenpunkte enthält, die so berechnet worden sind, dass sie dargestellt werden sollen.
  • Wenn die vorliegende Erfindung unter einem anderen Aspekt betrachtet wird, wird nun eine Vorrichtung bereitgestellt, um ein grafisches Polygon darzustellen, wobei das Polygon durch das Innere eines Polygons umgebende Verbindungskanten definiert wird, wobei die Vorrichtung Folgendes umfasst: Mittel zum Berechnen einer Vielzahl von Strecken, wobei jede Strecke einen Teil des Polygoninneren enthält; Mittel zum Berechnen mindestens eines Farbwertes für jede berechnete Strecke; und Mittel, um unter Verwendung der berechneten Werte die Strecken auf einer Anzeige darzustellen; dabei wird die Vorrichtung durch Folgendes gekennzeichnet: dass jede berechnete Strecke mindestens zwei Kantenpunkte auf jeder der mindestens zwei Kanten des Polygons enthält; dass das Mittel zum Berechnen der Vielzahl von Strecken Mittel zum Berechnen enthält, welcher der mindestens zwei Polygonkantenpunkte der Strecke nach einer Gruppe von Regeln dargestellt werden soll, die vorgibt, dass alle Punkte auf den Kanten eines Polygons dargestellt werden sollen und dass, wenn sich ein Kantenpunkt direkt auf oder gerade außerhalb einer Polygonkante befindet, der Kantenpunkt nur dann dargestellt wird, wenn sich der Kartenpunkt auf einer ersten Seite des Polygons befindet; und dass das Mittel zum Einbeziehen der Darstellung der Strecken nur solche Polygonkantenpunkte darstellt, die für das Darstellen berechnet worden sind.
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird nun unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben, bei denen:
  • Fig. 1 eine Veranschaulichung von mehreren grafischen Polygonen ist, die auf einer Anzeige dargestellt werden sollen;
  • Fig. 2 ein Blockschaltbild eines üblichen Digitalrechners ist, der von einer bevorzugten Ausführungsform der Erfindung benutzt wird;
  • Fig. 3 ein Blockdiagramm ist, das die Codeebenen veranschaulicht, die üblicherweise vom Hauptrechner und Grafikadapter benutzt werden, um grafische Funktionen auszuführen;
  • Fig. 4A und 9B Flussbilder sind, die das Darstellen eines Polygons nach einer bevorzugten Ausführungsform der Erfindung veranschaulichen;
  • Fig. 5 Daten veranschaulicht, die ein Polygon beschreiben, das im Grafikspeicher gespeichert ist;
  • Fig. 6 acht Oktanten eines Cartesischen Koordinatensystems veranschaulicht; und
  • Fig. 7 das schrittweise Erhöhen der Polygonkanten auf den nächsten Y-Wert nach einer bevorzugten Ausführungsform der Erfindung veranschaulicht.
  • Im Folgenden wird eine verbesserte Technik zum Ausfüllen von Polygonen beschrieben. In der bevorzugten Ausführungsform stellt die Ausfülltechnik jede Zeile von Bildpunkten eines Polygons nur einmal dar. Das heißt, die Kanten und das Innere eines Polygons sind für eine gegebene Zeile alle in der gleichen Strecke enthalten, so dass die Zeile von Bildpunkten nur einmal ausgefüllt und dargestellt wird. Als Ergebnis erfordert es die vorliegende Erfindung nicht, dass die Kanten und das Innere eines Polygons getrennt ausgefüllt und dargestellt werden.
  • Fig. 2 ist ein Blockschaltbild eines üblichen Digitalrechners 100, der von einer bevorzugten Ausführungsform der Erfindung benutzt wird. Der Rechner enthält Hauptprozessor(en) 110, der (die) mit einem Speicher 120 und einer Festplatte 125 im Rechnergehäuse 105 verbunden ist (sind), wobei Eingabevorrichtung(en) 130 und Ausgabevorrichtung(en) 140 angeschlossen sind. Hauptprozessor(en) 110 kann/können einen einzigen oder mehrere Prozessoren enthalten.
  • Eingabevorrichtung(en) 130 kann/können eine Tastatur, eine Maus, ein Tablett oder andere Arten von Eingabeeinheiten enthalten. Ausgabevorrichtung(en) 140 kann/können einen Textbildschirm, Plotter oder andere Arten von Ausgabeeinheiten enthalten. Rechnerlesbare, entnehmbare Medien, wie etwa eine Magnetdiskette oder eine CD, können in eine Eingabe- /Ausgabevorrichtung 180 eingeführt werden, wie etwa ein Diskettenlaufwerk oder ein CD-ROM-Laufwerk (CD-Festspeicher). Von der Steuerung 170 der E/A-Vorrichtung gesteuert, werden Daten durch die E/A-Vorrichtung von den entnehmbaren Medien gelesen oder auf ihnen aufgezeichnet. Die Steuerung der E/A- Vorrichtung kommuniziert über den Bus 160 mit dem Hauptprozessor. Hauptspeicher 120, Festplatte 125 und entnehmbare Medien 190 werden alle zusammen als Speicher zum Speichern von Daten für die Verarbeitung durch Hauptprozessor(en) 110 bezeichnet.
  • Der Hauptprozessor kann über einen Grafikadapter 200 auch mit grafischeren Ausgabeeinrichtung(en) 150 verbunden werden, wie etwa einer grafischen Anzeige. Grafikadapter 200 empfängt auf Bus 160 von Hauptprozessor(en) 110 Grafik betreffende Befehle. Der Grafikadapter führt dann diese Befehle mit dem/den Prozessor(en) des Grafikadapters 220 aus, der/die mit einem Grafikadapterspeicher 230 verbunden ist/sind. Die Grafikprozessoren im Grafikadapter führen dann diese Befehle aus und aktualisieren auf der Grundlage dieser Befehle den/ die Rahmenzwischenspeicher 240. Grafikprozessoren 220 können auch spezialisierte Darstellungshardware enthalten, um bestimmte Arten von Grundformen darzustellen. Rahmenzwischenspeicher 240 enthält/enthalten Daten für jeden Bildpunkt, der auf der Grafikausgabeeinrichtung angezeigt werden soll. Ein RAMDAC (Digital-Analog-Umsetzer mit Speicher mit wahlfreiem Zugriff) 250 wandelt die in den Zwischenspeichern gespeicherten digitalen Daten in RGB-Signale um, die der Grafikanzeige 150 bereitgestellt werden sollen, wodurch die gewünschte Grafikausgabe Vom Hauptprozessor dargestellt wird.
  • Figur. 3 ist ein Blockdiagramm, dass die Programmebenen veranschaulicht, die üblicherweise durch den Hauptrechner und Grafikadapter benutzt werden, um Grafikfunktionen auszuführen. Ein Betriebssystem 300, wie etwa UNIX, stellt die Primärsteuerung des Hauptrechners bereit. Mit dem Betriebssystem verbunden ist ein Kernbetriebssystem 310, das für das Betriebssystem die hardware-intensiven Tasken bereitstellt. Das Kernbetriebssystem kommuniziert direkt mit dem Mikrocode des Hauptrechners 320. Der Mikrocode des Hauptrechners ist der primäre Befehlssatz, der vom Prozessor des Hauptrechners ausgeführt wird. Mit dem Betriebssystem 300 sind Grafikanwendungen 330 und 332 verbunden. Diese Grafikanwendungs-Software kann Softwarepakete enthalten, wie etwa GL von Silicon Graphic, graPHIGS von IBM, PEX vom MIT usw. Diese Software stellt die Primärfunktionen von zweidimensionaler oder dreidimensionaler Grafik bereit. Grafikanwendungen 330 und 332 werden mit Grafikanwendungs-API (Anwendungsprogrammschnittstelle) 340 beziehungsweise 342 verbunden. Die API stellt viele der rechenintensiven Tasken für die Grafikanwendungen bereit und sorgt für eine Schnittstelle zwischen der Anwendungssoftware und der Software, die näher zur der Grafikhardware liegt, wie etwa eine Einheitensteuerung für den Grafikadapter. Beispielsweise können API 340 und 342 mit einer GAI (Grafikanwendungsschnittstelle) 350 beziehungsweise 352 kommunizieren. Die GAI stellt eine Schnittstelle zwischen der Anwendungs-API und einer Einheitensteuerung 370 des Grafikadapters bereit. Bei einigen Grafiksystemen führt die API auch die Funktion der GAI aus.
  • Die Grafikanwendung, API und GAI werden vom Betriebssystem und der Einheitensteuerung als einziger Vorgang betrachtet. Das heißt, Grafikanwendungen 330 und 332, API 340 und 342 und GAI 350 und 352 werden Vom Betriebssystem 300 und von der Einheitensteuerung 370 als Vorgänge 360 bzw. 362 betrachtet. Die Vorgänge werden durch das Betriebssystem gekennzeichnet, und die Einheitensteuerung wird durch einen Vorgangskennzeichner (PID) gekennzeichnet, der dem Vorgang vom Kernbetriebssystem zugeordnet wird. Vorgänge 360 und 362 können den gleichen Code benutzen, der zweimal gleichzeitig ausgeführt wird, wie etwa zwei Ausführungen eines Programms in zwei detrennten Fenstern. Die PID wird dafür benutzt, die getrennten Ausführungen des gleichen Codes zu unterscheiden.
  • Die Einheitensteuerung ist ein grafisches Kernsystem, das eine Erweiterung des Kernbetriebssystems 310 ist. Der Grafikkern kommuniziert direkt mit dem Mikrocode des Grafikadapters 380. In vielen Grafiksystemen kann die GAI-Ebene oder die API-Ebene, wenn keine GAI-Ebene benutzt wird, direkten Zugriff von der GAI oder API auf den Adapter-Mikrocode anfordern, indem sie an die Einheitensteuerung einen anfänglichen Anforderungsbefehl sendet. Zusätzlich gestatten es viele Grafiksysteme dem Adapter-Mikrocode, direkten Zugriff vom Adaoter-Mikrocode auf die GAI oder API anzufordern, wenn keine GAI benutzt wird, indem ein anfänglicher Anforderungsbefehl an die Einheitensteuerung geschickt wird. Beide Vorgänge werden hier nachstehend als direkter Speicherzugriff (DMA) bezeichnet. DMA wird üblicherweise benutzt, wenn große Datenblöcke übertragen werden. DMA sorgt dadurch für eine schnellere Übertragung von Daten zwischen dem Hauptrechner und dem Adapter, dass kein Bedarf auftritt, über die Anzeigesteuerung zu gehen, statt dessen richtet die anfängliche Anforderung nach der Einheitensteuerung die DMA ein. In einigen Fällen benutzt der Mikrocode des Adapters Aufgabenumschaltung, wodurch der Mikrocode des Adapters in die Lage versetzt wird, die aktuellen Attribute zu ersetzen, die vom Mikrocode des Adapters benutzt werden. Aufgabenumschaltung wird benutzt, wenn der Mikrocode des Adapters von einer Grafikanwendung eine Anweisung erhalten soll, die Attribute benutzt, die sich von denen unterscheiden, die der Mikrocode des Adapters derzeit benutzt. Die Aufgabenumschaltung wird üblicherweise durch die Einheitensteuerung ausgelöst, welche die Veränderungen der Attribute erkennt.
  • Blöcke 300 bis 340 sind Ebenen der Softwareprogramme, die üblicherweise von der Art des benutzten Grafikadapters unabhängig sind. Blöcke 350 bis 380 sind Ebenen der Softwareprogramme, die üblicherweise von der Art des benutzten Grafikadapters abhängen. Wenn beispielsweise von der Software der Grafikanwendung ein unterschiedlicher Grafikadapter benutzt werden soll, würden eine neue GAI, ein neuer Grafikkern- und Adapter-Mikrocode erforderlich sein. Zusätzlich befinden sich Blöcke 300 bis 370 üblicherweise am Hauptrechner und werden von ihm ausgeführt. Der Adapter-Mikrocode 380 befindet sich jedoch üblicherweise im Grafikadapter und wird von ihm ausgeführt. In einigen Fällen wird der Adapter-Mikrocode jedoch während der Initialisierung des Grafikadapters durch den Hauptrechner in den Grafikadapter geladen.
  • In üblichen Grafiksystemen weist der Benutzer die Grafikanwendung an, aus einem zwei- oder dreidimensionalen Modell ein Abbild aufzubauen. Der Benutzer wählt zuerst den Platz und die Art der Lichtquellen. Der Benutzer weist dann die Anwendungssoftware an, aus einer Gruppe von vorher definierten oder benutzerdefinierten Objekten das gewünschte Modell aufzubauen. Jedes Objekt kann einen oder mehrere in einer Ebene liegende grundlegende Zeichnungselemente enthalten, die das Objekt beschreiben. Beispielsweise kann eine Gruppe von grundlegenden Zeichnungselementen, wie etwa viele Dreiecke, dafür benutzt werden, die Oberfläche eines Objektes zu definieren. Der Benutzer stellt dann in einem Fenster eine Ansicht bereit, um das Modell zu betrachten, indem er damit das gewünschte Abbild definiert. Die Anwendungssoftware beginnt dann mit dem Darstellen des Abbildes aus dem Modell, indem sie die das Objekt beschreibenden grundlegenden Zeichnungselemente über die API, die GAI und dann die Einheitensteuerung an den Mikrocode des Adapters schickt, es sei denn, DMA wird benutzt. Der Adapter-Mikrocode stellt dann das Abbild auf der Grafikanzeige dar, indem es diejenigen Zeichnungselemente abschneidet (d. h. nicht benutzt), die im Fenster nicht sichtbar sind, und der Mikrocode des Adapters füllt aus der Ansicht, die vom Benutzer bestimmt worden ist, jedes übrige Zeichnungselement zu sichtbaren Bildpunkten aus. Die Bildpunkte werden dann in den Rahmenzwischenspeicher geladen, im Falle eines dreidimensionalen Modells, oftmals unter Verwendung eines Tiefenzwischenspeichers. Dieser Schritt ist aufgrund der Anzahl der Zeichnungselemente, Variablen und betroffenen Bildpunkte sehr rechenintensiv. Das sich ergebende Abbild, das im Rahmenzwischenspeicher gespeichert und auf der Grafikanzeige angezeigt wird, enthält üblicherweise nicht die ursprüngliche Information, wie etwa, von welchem Zeichnungselement oder Objekt der Bildpunkt abgeleitet worden ist. Als Ergebnis könnte der Bedarf bestehen, das Abbild teilweise oder ganz neu darzustellen, falls das Fenster, die Benutzeransicht, das Modell, die Beleuchtung usw. verändert werden.
  • In der bevorzugten Ausführungsform könnte die Ausfülltechnik an vielen Stellen benutzt werden, wie etwa dem Mikrocode des Adapters, der sich nahe am Rahmenzwischenspeicher des Adapters befindet. Diese Verfahrensweise würde ebenfalls relativ schnell und einfach einzurichten sein. Zusätzlich könnte die Ausfülltechnik in der Software der Grafikanwendung benutzt werden, in der das dargestellte Abbild entweder vor dem Darstellen des Abbildes oder nachfolgend, indem der Grafikadapter die Daten an die Software der Grafikanwendung zurückschickt, ebenfalls im Systemspeicher gespeichert wird. Diese Verfahrensweise würde viel langsamer sein, würde es aber erlauben, diese Technik bei vorher schon vorhandenen Grafikadaptern zu benutzen. Die Ausfülltechnik könnte ebenfalls in der Hardware im Prozessor des Grafikadapters realisiert werden. Diese Verfahrensweise ist außerordentlich schnell, kann aber spezialisierte Hardware erforderlich machen. Diese Verfahrensweise könnte jedoch auch das parallele Ausführen der vorliegenden Erfindung ermöglichen, um die Technik weiter zu beschleunigen. Dies würde schnelles Ausfüllen von Zeichnungselementen erlauben, die vom Grafikadapter angezeigt werden sollen. Wie es für den Fachmann offenkundig ist, würde die vorliegende Technik an vielen anderen Stellen innerhalb des Hauptrechners oder Grafikadapters anwendbar sein.
  • Fig. 4A und 4B sind Flussdiagramme, die das Darstellen eines Polygons nach einer bevorzugten Ausführungsform der Erfindung veranschaulichen. In einem ersten Schritt 400 wird ein Polygon empfangen und im Speicher zum Ausfüllen und Darstellen gespeichert. Die zum Ausfüllen und Darstellen empfangenen Polygone können durch den Grafikprozessor bereitgestellt werden, sie können mosaikartig unterteilte Kugeln oder andere Objekte enthalten, die vorverarbeitet worden sind, um überlappende Polygone zu bearbeiten. Zusätzlich können die zum Darstellen empfangenen Polygone vom Grafikspeicher oder vom Hauptspeicher herrühren. In einer bevorzugten Ausführungsform enthalten die empfangenen Daten oder Befehle, die das Polygon beschreiben, N, das gleich der Anzahl der Spitzen des Polygons ist, und die Koordinaten (X, Y) für jede der Spitzen. Zum Zwecke der Vereinfachung werden die Polygone in zwei Dimensionen mit den X- und Y-Koordinaten beschrieben. Der Fachmann kann jedoch die hier beschriebenen Techniken auch auf dreidimensionale Objekte anwenden. Es wird bevorzugt, dass die unter Verwendung der bevorzugten Ausführungsform gefüllten Polygone nur in der X-Richtung entweder konvex oder konkav beschaffen sind. In Y- Richtung konkave Polygone können ebenfalls behandelt werden, indem die vorliegende Erfindung so angewendet wird, dass die X- und Y-Variable umgekehrt werden, so dass senkrechte Strecken erzeugt werden.
  • Sobald sie empfangen worden sind, werden die Polygondaten im Grafikspeicher gespeichert, wie es in Fig. 5 gezeigt wird. Jeder der Spitzen wird ein Kennzeichner 610 zugeordnet. Beispielsweise hat Spitze A von Polygon 20, das in Fig. 1 gezeigt wird, Koordinatenwerte (X1, Y1), und ihr wird ein Kennzeichner 00 zugeordnet. Es ist bitte anzumerken, dass die Spitzen in der Reihenfolge des Aneinandergrenzens von Fig. 5 gespeichert werden, so dass die Spitzenreihenfolge von A, B, C, D aufrechterhalten wird.
  • In einem zweiten Schritt 410 wird die Spitze ermittelt, die den minimalen Y-Wert hat. Zur besseren Erklärung sind die (X, Y)- Koordinaten in der linken unteren Ecke der Anzeige 0 und nehmen in Richtung auf die rechte obere Ecke zu. Es gilt jedoch auch allgemein, dass der Ursprungspunkt der Achse die linke obere Ecke ist. Wenn man den Ursprung in der linken oberen Ecke benutzt, ist im aktuellen Beispiel die Spitze mit dem geringsten Y-Wert Spitze C, die den Kennzeichnerwert 10 hat. Dies ist der Punkt, an dem das Polygon in eine Reihe von waagerechten Strecken aufgeteilt wird, die dargestellt werden sollen. In anderen Ausführungsformen kann das Darstellen jedoch an dem maximalen Y-Wert beginnen, damit waagerechte-Strecken benutzt werden, oder am minimalen oder maximalen X-Wert, damit senkrechte Strecken benutzt werden.
  • In Schritt 420 kann die erste Spitze als Punkt dargestellt werden. In der bevorzugten Ausführungsform wird die erste Spitze jedoch nicht dargestellt, wenn nicht eine der ersten Kanten eine waagerechte Kante ist.
  • In Schritt 430 werden die rechte und/oder linke Kante des Polygons bestimmt. In dem aktuellen Beispiel würde die Kante C → D die linke Kante sein, und die Kante C → B würde die rechte Kante sein. Wie nachstehend beschrieben, könnte jedoch jede Kante so zugeordnet werden, dass sie die linke Kante oder die rechte Kante sein soll, da die Richtung der Strecke nachstehend in Schritt 470 ermittelt wird. In der bevorzugten Ausführungsform werden die Kanten ermittelt, indem die Kennzeichner der Spitzen benutzt werden. Beispielsweise wird die nächste Spitze der rechten Kante dadurch ermittelt, dass unter Benutzung der Quersummenrestkontrolle vom Spitzenkennzeichner C eins abgezogen wird, und die nächste Spitze der linken Kante wird ermittelt, indem zum Spitzenkennzeichner C unter Benutzung der Quersummenrestkontrolle eins hinzugefügt wird. Quersummenrestkontrolle erlaubt es, die Spirzenliste im Rundlauf abzuwickeln. Die nächste Spitze der rechten Kante ist beispielsweise (10-01) modulo 4 zur Basis 2. Dies ergibt O1, was der Kennzeichner für Spitze B ist. Wenn dieser Schritt bei einem ersten Mal nicht ausgeführt werden soll (d. h. Verarbeiten geht von A2 weiter), kann es eine einzelne Kante sein, die initialisiert wird, wie nachstehend zu sehen ist.
  • In Schritt 440 werden für jede in Schritt 430 initialisierte Kante Doppel-Bresenham-Liniengeneratoren initialisiert. Die Linie nzugtechnik nach Bresenham ist in der Technik allgemein bekannt und wird in "Computer Graphics, Principles and Practice", zweite Auflage, von Foley, Van Dam, Finer und Hughes, 1990, Seite 72 bis 81 beschrieben. Es können jedoch andere Techniken als die Linienzugtechnik nach Bresenham benutzt werden. Im aktuellen Beispiel sind die für die linke Kante C → D initialisierten Variablen dy = Y4-Y3 , dx = X4- X3 , d (der Fehlerausdruck) = 2* dy - dx , incrNE (Nordost- Korrekturfaktor) = 2*( dy - dx ), und incrE = 2* dy .
  • Es ist bitte auch anzumerken, dass die Linienzugtechnik nach Bresenham üblicherweise an Linien mit weniger als 45º im ersten Quadranten eines üblichen Cartesischen Koordinatensystems arbeitet. Andere Anstiege können durch geeignete Spiegelungen an der Hauptachse behandelt werden. Unter Bezugnahme auf Fig. 6 wird die Linienzugtechnik nach Bresenham unverändert auf Linien angewandt, die sich vom Ursprungspunkt aus in den Oktanten 1A erstrecken. Alle anderen Linien, die sich in andere Oktanten erstrecken, werden gespiegelt oder gekippt, so dass sie sich in den Oktanten 1A erstrecken. Der ursprüngliche Oktant der Linie wird zum Gebrauch wie nachstehend beschrieben aufbewahrt. TABELLE 1 stellt nachstehend eine Liste von Variablen bereit, die Werte haben, die auf dem Oktanten beruhen, durch den die Linie hindurchgeht. Diese Variablen sind ndy (negatives dy), ndx (negatives dx) und mf (Hauptkippen). Diese Variablen werden dafür benutzt, bei der Linienzugtechnik nach Bresenham die X- und Y-Koordinaten schrittweise zu erhöhen.
  • In Schritt 450 werden beide Bresenham-Generatoren auf den nächsten Y-Wert erhöht. Fig. 6 veranschaulicht diesen Schritt nach der bevorzugten Ausführungsform der Erfindung. Im aktuellen Beispiel werden die nächsten Punkte, wie sie durch den B resenham-Generator berechnet werden, aktuelle Punkte CL und CR (nicht in Klammern ) sein. Wie in der Bresenham- Technik allgemein bekannt, werden für diese beiden Punkte äuch Fehlerausdrücke erzeugt. TABELLE 1: OKTANTENVARIABLE
  • Ein Schritt 460 wird der Fehlerausdruck d auch für Punkte ermittelt, die sich rechts und links von jedem erzeugten Punkt befinden. Im aktuellen Beispiel, wie es in Fig. 7 veranschaulicht wird, werden dies für den nächsten und vorhergehenden Punkt auf der linken Kante Punkte NL und PL (nicht in Klammern ) sein und PR und NR (nicht in Klammern [))für die vorhergehende und nächste Spitze für die rechte Kante sein.
  • In Schritt 470 wird ermittelt, in welche Richtung die Strecke derzeit läuft. Beispielsweise kann während der anfänglichen Verarbeitung die rechte Linie tatsächlich als linke Linie initialisiert worden sein und umgekehrt. Zusätzlich können sich die Spitzen gekreuzt haben, wie etwa in einem aufrecht stehenden Polygon in der Art von Fig. 8????(((es gibt jedoch keine Fig. 8))), das in X-Richtung konkav ist, so dass die rechte Kante nun linke Kante geworden ist. Die Ermittlung, in welcher Richtung die Strecke läuft, ergibt sich durch Subtrahieren der X-Koordinate für CL von CR. Wenn das Ergebnis größer 0 ist, sind die Kanten korrekt bezeichnet. Wenn das Ergebnis negativ ist, sind die Kanten umgekehrt worden. Wenn das Ergebnis gleich null ist, ist zusätzliches Verarbeiten erforderlich. Im Falle von null werden verschiedene Variablen durchgesehen, um zu ermitteln, ob die Kanten rückwärts verlaufen und zum Füllen und Darstellen umgekehrt werden müssen. Diese Variablen enthalten die Vorzeichen der Fehlerausdrücke für den nächsten, aktuellen und vorhergehenden Punkt jeder Kante (obgleich einige Fälle es erfordern, dass eine Variable gleich null ist) und die mf- und ndx-Variablen (auf der Grundlage darauf, welchen Oktanten jede Kante durchläuft, wie es in Fig. 6 vorstehend gezeigt ist) jeder Kante. TABELLE 2 stellt nachstehend diese Bedingungen für das Ermitteln bereit, ob die Kanten rückwärtsverlaufen und daher umgekehrt werden müssen. In dieser Tabelle werden alle 0-Werte als positiv betrachtet. Es ist bitte anzumerken, dass dieser Schritt nicht notwendig ist, wenn nur konvexe Polygone benutzt werden und wenn die Kanten anfänglich so eingestellt werden, dass sie korrekterweise rechts und links sind. Das Verarbeiten geht dann weiter zu Schritt 480. TABELLE 2: BEDINGUNGEN ZUM ERMITTELN, OB KANTEN RÜCKWÄRTS VERLAUFEN
  • In Schritt 480 wird aus diesen Fehlerausdrücken ermittelt, ob die Strecke dargestellt werden soll, wobei die aktuellen Fehlerausdrücke gegeben sind, die in Schritt. 450 bereitgestellt worden sind. Das heißt, dass für jede Kante einer der drei Punkte einen positiven Fehlerausdruck und einer der drei Punkte einen negativen Fehlerausdruck haben muss. Wenn ermittelt wird, dass die Strecke mehr Punkte auf der aktuellen Y-Linie enthalten müsste, geht die Ausführung zu Schritt 490, andernfalls geht die Verarbeitung zu Schritt, 500. In dem aktuellen Beispiel in Fig. 7 hat die rechte Linie alle drei Punkte innerhalb des Polygons, so dass alle Fehlerausdrücke das gleiche Vorzeichen haben werden. Zusätzlich hat die linke Linie zwei Punkte innerhalb des Polygons und einen außerhalb des Polygons, so dass die Fehlerausdrücke nicht alle das gleiche Vorzeichen haben. Als Ergebnis würde die Verarbeitung zu Schritt 490 weitergehen, um nur die rechte Linie schrittweise zu vergrößern.
  • In Schritt 490 stellt der Bresenham-Generator zusätzliche Punkte für die Kante oder die Kanten bereit, die mehr Punkte auf der Strecke enthalten können. Das Verarbeiten geht dann zurück zu Schritt 460, um für die Punkte rechts und links von jedem erzeugten Punkt die Fehlerausdrücke zu ermitteln. Im aktuellen Beispiel von Fig. 7 würde es neue Werte für PR, CR und NR geben, die, in Klammern gezeigt werden.
  • In Sehritt 500 wird ermittelt, welche Kantenpunkte in der Strecke ausgefüllt und dargestellt werden sollen. Wenn man beispielsweise den X-Fill-Standard benutzt, würde die in Fig. 7 gezeigte Strecke 700 von Punkt CL nach Punkt [CR] verlaufen, weil diese Punkte die Kanten des Polygons für diese Strecke festlegen. NL und [NR] befinden sich beide außerhalb der Polygonkanten, so dass sie nicht ausgefüllt und dargestellt würden. In der bevorzugten Ausführungsform würde, wenn sich NL tatsächlich auf der Kante befände, es mit der Strecke ausgefüllt und dargestellt werden, und wenn [NR] sich tatsächlich auf der Kante befände, würde es mit der Strecke nicht ausgefüllt und dargestellt werden. Dies würde die vorstehend beschriebenen Probleme der Zwischenräume und Dopplung verhindern. Wenn jedoch eine unterschiedliche Feldregel statt X-Fill benutzt würde, könnten andere derartige Punkte ermittelt werden, die mit der Strecke ausgefüllt und dargestellt würden.
  • In Schritt S10 wird die Strecke gefüllt und dargestellt. Das heißt, der Strecke wird eine Farbe oder Farben zugeordnet, und diese können auch interpoliert werden, um eher realistische Bilder zu bieten. Zusätzlich kann den Endpunkten eine unterschiedliche Farbe zugeordnet werden, um die Begrenzungen zu veranschaulichen. Die Strecke wird dann durch Laden der Werte für jeden der Bildpunkte Auf der Strecke in den Rahmenzwischenspeicher dargestellt. Die Strecke wird dann als Ergebnis des Ladens des Rahmenzwischenspeichers auf der Anzeige angezeigt. In der bevorzugten Ausführungsform ist die Strecke eine Linie mit zwei Endpunkten und einer einzigen Farbe, die an eine zusätzliche Vorrichtung geschickt wird, um alle Bildpunkte auf der Linie zu berechnen und jedem Bildpunkt die der Strecke zugeordnete Farbe zuzuweisen.
  • In Schritt S20 wird ermittelt, ob die dargestellte Strecke für entweder die rechte oder die linke Kante die letzte Strecke war. Dies wird dadurch festgestellt, dass der aktuelle Y-Wert für die Strecke mit dem Y-Wert für jede der Endspitzen für die Strecken verglichen wird. Wenn dies nicht die letzte Strecke für die jeweilige Kante ist, geht die Verarbeitung zurück zu Schritt 450. Wenn dies die letzte Strecke für die jeweilige Kante ist, wird in Schritt S30 ermittelt, ob dies die letzte Strecke im Polygon ist. Dies wird festgestellt, indem geprüft wird, ob dies die letzte Strecke für beide Kanten ist und ob die Kanten in der gleichen Spitze enden. Wenn dies der Fall ist, wird das Darstellen des Polygons abgeschlossen, und die Verarbeitung endet. Wenn dies nicht der Fall ist, geht die Verarbeitung zurück zu vorstehendem Schritt 430, um eine neue Kante oder Kanten zu initialisieren.
  • Die vorliegende Erfindung ist insbesondere deshalb vorteilhaft, weil sie es gestattet, dass die Kanten in der gleichen Strecke dargestellt werden, wie es beim gefüllten Inneren des Polygons erfolgt. Zusätzlich gestattet dies, dass die Kanten sorgfältiger dahingehend bewertet werden, welche Punkte der Kanten dargestellt werden, damit Zwischenräume zwischen Polygonen vermieden werden und das mehrmalige Berechnen der gleichen Punkte verhindert wird. Darüber hinaus gestattet es die vorliegende Erfindung, dass das Polygon einschließlich der Kanten mit sehr wenig Anforderungen an den Arbeitsspeicher ausgefüllt und dargestellt wird. Das heißt, es sind keine Füllbitebenen erforderlich, um die vorliegende Erfindung zu realisieren.
  • Obgleich die vorliegende Erfindung vorstehend vollständig unter Bezugnahme auf bestimmte Ausführungsformen beschrieben worden ist, sind dem Fachmann andere alternative Ausführungsformen offenkundig. Beispielsweise können die zu füllenden Polygone nichtlineare Kanten haben, die durch Benutzen nichtlinearer inkrementaler Techniken berechnet werden, wie etwa die Kreisabtast-Umwandlungstechnik nach Bresenham.

Claims (7)

1. Verfahren (380) zum Darstellen eines grafischen Polygons, wobei das Polygon durch Verbindungskanten definiert ist, die das Innere eines Polygons umgeben, wobei das Verfahren die Schritte umfasst: Berechnen (480) einer Vielzahl von Strecken, wobei jede Strecke einen Teil des Polygoninneren enthält; Berechnen mindestens eines Farbwertes für jede berechnete Strecke; und unter Verwendung der berechneten Werte Darstellen (510) der Strecken auf: einer Anzeige; wobei das Verfahren dadurch gekennzeichnet ist, dass: jede berechnete Strecke mindestens zwei Kantenpunkte auf jeder der mindestens zwei Kanten des Polygons enthält; der Schritt des Berechnens der Vielzahl der Strecken das Berechnen (500) enthält, welche der mindestens zwei Polygoneckpunkte der Strecke nach einer Gruppe von Regeln dargestellt werden soll, die vorgeben, dass alle Punkte innerhalb der Kanten eines Polygons dargestellt werden sollen, und dass, wenn sich ein Kantenpunkt direkt auf oder genau außerhalb einer Polygonkante befindet, der Kantenpunkt nur dargestellt wird, wenn er sich in Bezug auf die Richtung der Strecke an einer ersten Seite des Polygons befindet, und der Schritt des Darstellens (510) der Strecken das Darstellen nur derjenigen Kantenpunkte des Polygons enthält, die zum Darstellen berechnet worden sind.
2. Verfahren nach Anspruch 1, wobei der Schritt des Berechnens einer Vielzahl von Strecken aus Bildpunkten das Berechnen einer Vielzahl von parallelen Strecken enthält.
3. Verfahren nach Anspruch 2, wobei der Schritt des Berechnens einer Vielzahl von Strecken das Benutzen des schrittweisen Berechnens jeder Strecke durch das schrittweise Berechnen von Kantenpunkten des Polygons an jedem Ende jeder Strecke enthält.
4. Vorrichtung zum Darstellen eines grafischen Polygons,
wobei das Polygon durch Verbindungskanten definiert ist, die das Innere eines Polygons umgeben, wobei die Vorrichtung Folgendes umfasst: Mittel (220, 380) zum Berechnen einer Vielzahl von Strecken, wobei jede Strecke einen Teil des Polygoninneren enthält; Mittel (220, 380) zum Berechnen mindestens eines Farbwertes für jede berechnete Strecke; und Mittel, um unter Verwendung der berechneten Werte die Strecken auf einer Anzeige (150) darzustellen;
wobei die Vorrichtung dadurch gekennzeichnet ist, dass:
jede berechnete Strecke mindestens zwei Kantenpunkte auf jeder der mindestens zwei Kanten des Polygons enthält; die Mittel (220, 380) zum Berechnen der Vielzahl von Strecken Mittel zum Berechnen enthält, welche der mindestens zwei Kantenpunkte des Polygons der Strecke in. Übereinstimmung mit einer Gruppe von Regeln dargestellt werden sollen, die vorgeben, dass alle Punkte innerhalb der Kanten eines Polygons dargestellt werden sollen und dass, wenn sich ein Kantenpunkt direkt auf oder gerade außerhalb einer Polygonkante befindet, der Kantenpunkt nur dann dargestellt wird, wenn er sich auf einer ersten Seite des Polygons in Bezug auf die Richtung der Strecke befindet, und das Mittel (220, 380) zum Darstellen der Strecken nur das Darstellen derjenigen Kantenpunkte des Polygons enthält, die zum Darstellen berechnet worden sind.
5. Vorrichtung nach Anspruch 4, wobei das Mittel zum Berechnen einer Vielzahl von Strecken aus Bildpunkten Mittel zum Berechnen einer Vielzahl von parallelen Strecken enthält.
6. Vorrichtung nach Anspruch 5, wobei das Mittel zum Berechnen einer Vielzahl von Strecken Mittel enthält, um das schrittweise Berechnen jeder Strecke durch schrittweises Berechnen der Polygoneckpunkte an jedem Ende jeder Strecke zu benutzen.
7. Datenverarbeitungssystem zum Darstellen eines grafischen Polygons, wobei das Polygon durch Verbindungskanten definiert wird, die das Innere eines Polygons umgeben, das Folgendes umfasst:
Verarbeitungsmittel zum Verarbeiten von Daten;
Speichermittel zum Speichern von Daten, die verarbeitet werden sollen; und
Vorrichtung zum Darstellen eines grafischen Polygons, wie sie in einem beliebigen der Ansprüche 4 bis 6 beansprucht worden ist.
DE69428858T 1993-09-20 1994-08-15 Verfahren und Gerät zum Füllen von Polygonen Expired - Fee Related DE69428858T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/123,510 US5463723A (en) 1993-09-20 1993-09-20 Method and apparatus for filling polygons

Publications (2)

Publication Number Publication Date
DE69428858D1 DE69428858D1 (de) 2001-12-06
DE69428858T2 true DE69428858T2 (de) 2002-05-02

Family

ID=22409108

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69428858T Expired - Fee Related DE69428858T2 (de) 1993-09-20 1994-08-15 Verfahren und Gerät zum Füllen von Polygonen

Country Status (4)

Country Link
US (2) US5463723A (de)
EP (1) EP0644509B1 (de)
JP (1) JP3031825B2 (de)
DE (1) DE69428858T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337002A (en) * 1991-03-01 1994-08-09 Mercer John E Locator device for continuously locating a dipole magnetic field transmitter and its method of operation
US5463723A (en) * 1993-09-20 1995-10-31 International Business Machines Corporation Method and apparatus for filling polygons
US5673375A (en) * 1993-09-20 1997-09-30 Hitachi, Ltd. Method for three-dimensionally drawing figure on display plane
US6005580A (en) * 1995-08-22 1999-12-21 Micron Technology, Inc. Method and apparatus for performing post-process antialiasing of polygon edges
KR100243224B1 (ko) * 1997-07-15 2000-02-01 윤종용 그래픽에서 타원 메꿈방법
US6218965B1 (en) 1998-07-30 2001-04-17 The United States Of America As Represented By The Secretary Of The Navy Moving map composer (MMC)
US6897869B1 (en) * 1999-10-25 2005-05-24 International Business Machines Corporation System and method for filling a polygon
AUPR970501A0 (en) * 2001-12-21 2002-01-24 Canon Kabushiki Kaisha A method for performing set operations on two or more arbitrary paths to produce a simple outline path
US7006094B2 (en) 2002-04-24 2006-02-28 Seiko Epson Corporation Method and apparatus for filling an image on a display screen
US7382370B2 (en) * 2004-07-07 2008-06-03 The United States Of America As Represented By The Secretary Of The Navy System and method for smoothing and compression of polyline data
US7567714B2 (en) * 2004-07-07 2009-07-28 The United States Of America As Represented By The Secretary Of The Navy System, method and apparatus for clustering features
US7256785B1 (en) * 2005-04-19 2007-08-14 Adobe Systems Incorporated Assigning subpath attributes in a drawing
US7646386B2 (en) * 2005-04-19 2010-01-12 Adobe Systems Incorporated Modifying a path in a drawing

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4368463A (en) * 1979-03-21 1983-01-11 Sigma Electronics Limited Graphic display area classification
US4425559A (en) * 1980-06-02 1984-01-10 Atari, Inc. Method and apparatus for generating line segments and polygonal areas on a raster-type display
US4481594A (en) * 1982-01-18 1984-11-06 Honeywell Information Systems Inc. Method and apparatus for filling polygons displayed by a raster graphic system
US4646076A (en) * 1983-04-27 1987-02-24 Sperry Corporation Method and apparatus for high speed graphics fill
DE3376594D1 (en) * 1983-12-22 1988-06-16 Ibm Area filling hardware for a colour graphics frame buffer
JPH0831138B2 (ja) * 1985-09-27 1996-03-27 ダイキン工業株式会社 走査型ディスプレイ装置における多角形ぬりつぶし装置
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor
JPH0683358B2 (ja) * 1985-10-17 1994-10-19 キヤノン株式会社 画像情報処理装置の調整方法
FR2594980A1 (fr) * 1986-02-21 1987-08-28 Gen Electric Processeur de visualisation pour un systeme de visualisation graphique
US4901251A (en) * 1986-04-03 1990-02-13 Advanced Micro Devices, Inc. Apparatus and methodology for automated filling of complex polygons
GB2198019B (en) * 1986-11-18 1990-09-26 Ibm Graphics processing system
US4962468A (en) * 1987-12-09 1990-10-09 International Business Machines Corporation System and method for utilizing fast polygon fill routines in a graphics display system
JPH01241556A (ja) * 1988-03-22 1989-09-26 Dainippon Screen Mfg Co Ltd 凸ループ分割を用いた塗り潰しデータ生成方法
US4897805A (en) * 1988-05-17 1990-01-30 Prime Computer, Inc. Method and apparatus for performing polygon fills in graphical applications
US5202960A (en) * 1988-11-02 1993-04-13 Digital Equipment Corp Method and apparatus for plotting polygon edges on a pixelized grid
US5036316A (en) * 1989-04-03 1991-07-30 Honeywell Inc. Method and apparatus for high speed linear shading in a raster graphics system
EP0422295B1 (de) * 1989-10-12 1994-12-21 International Business Machines Corporation Anzeigesystem
US5463723A (en) * 1993-09-20 1995-10-31 International Business Machines Corporation Method and apparatus for filling polygons

Also Published As

Publication number Publication date
EP0644509A2 (de) 1995-03-22
JPH07105394A (ja) 1995-04-21
US5579461A (en) 1996-11-26
EP0644509A3 (de) 1995-12-27
DE69428858D1 (de) 2001-12-06
JP3031825B2 (ja) 2000-04-10
EP0644509B1 (de) 2001-10-31
US5463723A (en) 1995-10-31

Similar Documents

Publication Publication Date Title
DE69132041T2 (de) Dreieckinterpolator
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE69130545T2 (de) System zur Erzeugung einer texturierten Perspektivsicht
DE69424716T2 (de) Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69127915T2 (de) System und Verfahren von Prioritätsfarbabbildung
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE3855231T2 (de) Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing
DE69130132T2 (de) Verfahren zur Erzeugung von Adressen zu texturierten, in RIP Maps gespeicherten graphischen Primitiven
DE69602728T2 (de) Vorrichtung zur bildmanipulation und -generation
DE69129712T2 (de) Arbeitsraumanzeigen
DE60126967T2 (de) Verfahren und Vorrichtung für Anti-Aliasing durch Überabtastung
DE69424900T2 (de) Verfahren und Gerät zur Durchführung von Texturabbildung auf komplexen Oberflächen
DE69716877T2 (de) System und Verfahren zur genauen Gradientberechnung für die Texturabbildung in einem Computergraphiksystem
DE60000686T2 (de) Graphisches system mit super-abgetastetem musterpuffer mit erzeugung von ausgangpixeln unter verwendung von selektiven adjustierung der filterung zur artifaktverminderung
DE69632578T2 (de) Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE60120474T2 (de) Rasterung von dreidimensionalen bildern
DE69635403T2 (de) Grafikbibliothek auf geteilten Ebenen
DE69428858T2 (de) Verfahren und Gerät zum Füllen von Polygonen
DE69331486T2 (de) Bilddatenverarbeitung
DE69129427T2 (de) Pixelinterpolation im Perspektivraum
DE102015113240A1 (de) System, verfahren und computerprogrammprodukt für schattierung unter verwendung eines dynamischen objektraumgitters
DE19917092A1 (de) Verfahren zur Rasterisierung eines Graphikgrundelements
DE69130127T2 (de) System und Verfahren zur Farbbilderanzeige

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee