Das Verständnis der Rasterisierung und des Algorithmus des Malers könnte hilfreich sein.
Eine Möglichkeit, Vektorgrafiken (durch Polygone anstelle von Pixeln definierte Grafiken) in Pixel zu rendern, besteht darin, die Polygone zu rastern, während der Algorithmus des Malers ausgeführt wird.
Der Algorithmus des Malers ist ein Bottom-up-Prozess, bei dem Sie zuerst den Hintergrund ablegen und dann mit jeder Farbschicht auf diesen Hintergrund zeichnen, bis Sie die oberste Schicht erreichen.
Wenn Sie eine Ebene ablegen, achten Sie auf deren Abdeckung (normalerweise in einem zusätzlichen Kanal, dem Alpha-Kanal) und mischen die hinzugefügte Farbe mit der bereits vorhandenen Farbe.
Wenn Ihre neue Ebene ein Pixel zu 50% bedeckt und blau ist, mitteln Sie die aktuelle Farbe dieses Pixels mit blau und zeichnen sie stattdessen dort.
Etwas komplexer wird es, wenn Sie ein Bild mit Transparenz erstellen, aber nicht grundsätzlich.
Bei der Rasterisierung wird ein Polygon in Pixel umgewandelt. Hier berechnen wir mithilfe einer Algebra, wie stark das Polygon ein bestimmtes Pixel bedeckt, und berechnen dann einen Überdeckungsbetrag.
Wenn Sie zwei Kanten eines Polygons haben, die zusammenfallen - genau übereinander -, aber beide ein bestimmtes Pixel zur Hälfte bedecken, ist das ein Problem.
Angenommen, das untere Polygon ist rot und das obere blau und der Hintergrund ist weiß.
Zuerst malen wir das Rot. Dies mischt sich mit dem Weiß, was zu 50% Weiß und 50% Rot führt.
Wir malen dann das Blau. Dies mischt sich mit den 50% Weiß 50% Rot und wir erhalten 25% Weiß 25% Rot 50% Blau. Das gleiche passiert, wenn sich Rot und Blau in der Mitte treffen oder wenn Blau Rot vollständig bedeckt.
Aber "in Wirklichkeit" bedeckte das blaue Polygon das rote vollständig. Warum sehen wir es dann? Weil der Algorithmus Subpixel-Positionierungsdetails vergisst .
Solange ein Polygon zu 100% abgedeckt ist, ist dies kein Problem.
Nun ist dieses Problem nicht grundlegend. Sie können das Rendern von Polygonen mit einem Raytracing-ähnlichen Ansatz (bei dem Sie an Punkten um einen Faktor von N ^ 2 überrendern) oder sogar mit einem reinen Vektor-ähnlichen Ansatz (bei dem Sie blockierende Formen von der Geometrie der Formen unter subtrahieren) durchführen sie ausschneiden). In keinem Fall gelangen "verborgene" Farben durch das Ausgabebild.
Der Algorithmus des Malers ist nicht der einzige Fall, in dem "verborgene" Geometrie durchdringen kann. Wenn Sie mit undurchsichtigen Medien drucken, sind die Farbebenen manchmal nicht perfekt ausgerichtet. So dringen Unterschichten durch, wenn die oberste Schicht diese vollständig bedecken soll.
Da Sie nicht wissen, wie Ihr Vektorbild ausgegeben wird, können Sie mit solchen Kerben Bilder erstellen, die robuster gegen fehlerhafte Druck- / Anzeigetechniken sind.