Rasterisierung

Rastergrafikbild

Im Computergrafik, Rasterisierung oder Rasterisierung (aus Deutsch Raster'Framework, Schema' und Latein Rāstrum"Schaber, Rechen"[1][2]) ist die Aufgabe, eine zu nehmen Bild beschrieben in a Vektorgrafiken Format (Formen) und konvertieren es in a Rasterbild (eine Reihe von Pixel, Punkte oder Linien, die, wenn sie zusammen angezeigt werden, das Bild erstellen, das über Formen dargestellt wurde).[3][4] Das rasterisierte Bild kann dann auf a angezeigt werden Computeranzeige, Videoanzeige oder Drucker, oder in a gelagert Bitmap Datei Format. Die Rasterisierung kann sich auf die Zeichentechnik beziehen 3D -Modelle, oder die Umwandlung von 2D Primitive machen wie zum Beispiel Polygone, Liniensegmente in ein rasterisiertes Format.

2D -Bilder

Linienprimitive

Bresenhams Linienalgorithmus ist ein Beispiel für Algorithmus, mit dem eine Linie gerendert wird.

Kreis Primitive

Algorithmen wie Mittelpunktkreisalgorithmus werden verwendet, um den Kreis auf eine pixelige Leinwand zu rendern.

3D -Bilder

Die Rasterisierung ist eine der typischen Techniken für das Rendern von 3D -Modellen. Im Vergleich zu anderen Rendering -Techniken wie z. StrahlenverfolgungDie Rasterisierung ist extrem schnell und daher in den meisten Echtzeit -3D -Motoren verwendet. Die Rasterisierung ist jedoch einfach der Prozess der Berechnung der Zuordnung von Szenengeometrie zu Pixeln und verschreibt keine besondere Möglichkeit, die Farbe dieser Pixel zu berechnen. Die spezifische Farbe jedes Pixels wird von a zugewiesen Pixel Shader (was in der modernen GPUS ist komplett programmierbar). Die Schattierung kann physikalische Effekte wie Lichtposition, ihre Annäherungen oder rein künstlerische Absichten berücksichtigen.

Der Prozess der Rasterisierung von 3D -Modellen auf einer 2D -Ebene zur Anzeige auf a Computer-Bildschirm (""Bildschirmraum") wird häufig durch feste Funktionen (nicht programmenfreundliche) Hardware innerhalb der durchgeführt Grafikpipeline. Dies liegt daran, dass es keine Motivation gibt, die Techniken für die Rasterisierung zu ändern[Klarstellung erforderlich] und ein spezielles System ermöglicht eine hohe Effizienz.

Dreieck Rasterisierung

Rasterisierende Dreiecke mit der oberen linken Regel

Eine gemeinsame Darstellung digitaler 3D -Modelle ist polygonal. Vor der Rasterisierung werden einzelne Polygone in Dreiecke unterteilt, weshalb ein typisches Problem bei der 3D -Rasterisierung die Rasterisierung eines Dreiecks ist. Eigenschaften, die normalerweise aus Dreieck -Rasterisierungsalgorithmen benötigt werden, sind, dass zwei benachbarte Dreiecke rasterisieren (d. H. Diejenigen, die eine Kante teilen)

  1. Es hinterlässt keine Löcher (nicht kreatisierte Pixel) zwischen den Dreiecken, so dass der rasterisierte Bereich vollständig gefüllt ist (genau wie die Oberfläche benachbarter Dreiecke). Und
  2. Kein Pixel wird mehr als einmal rasterisiert, d. H. Die rasterisierten Dreiecke überlappen sich nicht. Dies soll garantieren, dass das Ergebnis nicht von der Reihenfolge abhängt, in der die Dreiecke rasterisiert werden. Überschicke Pixel können auch die Verschwendung von Computerleistung für Pixel bedeuten, die überschrieben werden würden.

Dies führt zu etablieren Rasterisierungsregeln um die oben genannten Bedingungen zu garantieren. Ein Satz solcher Regeln wird a genannt Top-links-Regel, was besagt, dass ein Pixel nur dann rasterisiert wird

  1. Das Zentrum liegt vollständig im Dreieck. Oder
  2. Das Zentrum liegt genau am Dreieckskante (oder mehrere Kanten in Ecken), dh (oder in Ecken, alle sind) entweder oben oder links Kante.

A oben Kante ist eine Kante, die genau horizontal ist und über anderen Kanten liegt, und a links Edge ist eine nicht horizontale Kante, die sich auf der linken Seite des Dreiecks befindet.

Diese Regel wird z. durch Direct3d[5] und viele OpenGL Implementierungen (obwohl die Spezifikation sie nicht definiert und nur eine konsistente Regel erfordert[6]).

Qualität

Pixel (links) gegen Subpixel (rechts) Präzision

Die Qualität der Rasterisierung kann durch verbessert werden Kantenglättung, was "glatte" Kanten erzeugt. Subpixel-Präzision ist eine Methode, die Positionen auf einer feineren Skala als das Pixelgitter berücksichtigt und auch dann unterschiedliche Ergebnisse erzielen kann, wenn die Endpunkte eines primitiven Pixelkoordinaten fallen, wodurch glattere Bewegungen erzeugt werden. Einfache oder ältere Hardware, wie z. PlayStation 1, fehlte die Subpixel-Präzision bei der 3D-Rasterisierung.[7]

Siehe auch

Verweise

  1. ^ Harper, Douglas. "Raster". Online -Etymologie -Wörterbuch.
  2. ^ Rastrum. Charlton T. Lewis und Charles Short. Ein lateinisches Wörterbuch an Perseus -Projekt.
  3. ^ Michael F. Worboys (30. Oktober 1995). GIS: Eine Informatikperspektive. CRC Press. S. 232–. ISBN 978-0-7484-0065-2.
  4. ^ Kang-Tsung Chang (27. August 2007). Programmierrohr mit VBA: Ein aufgabenorientierter Ansatz, zweite Ausgabe. CRC Press. S. 91–. ISBN 978-1-4200-0918-7.
  5. ^ "Rasterisierungsregeln (Direct3d 9)". Microsoft Docs. Abgerufen 19. April 2020.
  6. ^ OpenGL 4.6 (PDF). p. 478.
  7. ^ "Probleme mit PlayStation Rasterisierung". Libretro. Abgerufen 19. April 2020.

Externe Links