Der Algorithmus des Malers

Der Algorithmus des Malers, auch bekannt als ein Vorrang füllen sich, ist eine der einfachsten Lösungen des Sichtbarkeitsproblems in der 3D-Computergrafik. Wenn man eine 3D-Szene auf ein 2. Flugzeug plant, ist es an einem Punkt notwendig zu entscheiden, welche Vielecke sichtbar sind, und die verborgen werden.

Der Name "der Algorithmus des Malers" bezieht sich auf die Technik, die von vielen Malern verwendet ist, entfernte Teile einer Szene vor Teilen zu malen, die näher einige Gebiete von entfernten Teilen dadurch bedecken. Die Algorithmus-Sorten des Malers alle Vielecke in einer Szene durch ihre Tiefe und malen sie dann in dieser Ordnung weit zum nächsten. Es wird über die Teile malen, die normalerweise — so das Beheben des Sichtbarkeitsproblems nicht sichtbar sind — auf Kosten unsichtbare Gebiete von entfernten Gegenständen gemalt zu haben.

Der Algorithmus kann in einigen Fällen, einschließlich des zyklischen Übergreifens oder der eindringenden Vielecke scheitern. Im Fall vom zyklischen Übergreifen, wie gezeigt, in der Zahl nach rechts, greifen Vielecke A, B, und C auf einander auf solche Art und Weise über, dass es unmöglich ist zu bestimmen, welches Vieleck über anderen ist. In diesem Fall müssen die verstoßenden Vielecke geschnitten werden, um zu erlauben, zu sortieren. Der Algorithmus von Newell, vorgeschlagen 1972, stellt eine Methode zur Verfügung, um solche Vielecke zu schneiden. Zahlreiche Methoden sind auch im Feld der rechenbetonten Geometrie vorgeschlagen worden.

Der Fall von eindringenden Vielecken entsteht, wenn ein Vieleck einen anderen durchschneidet. Als mit dem zyklischen Übergreifen kann dieses Problem durch den Ausschnitt der verstoßenden Vielecke aufgelöst werden.

In grundlegenden Durchführungen kann der Algorithmus des Malers ineffizient sein. Es zwingt das System, jeden Punkt auf jedem Vieleck im sichtbaren Satz zu machen, selbst wenn dieses Vieleck in der beendeten Szene verschlossen wird. Das bedeutet, dass, für ausführliche Szenen, der Algorithmus des Malers die Computerhardware allzu besteuern kann.

Ein Algorithmus eines Rückmalers wird manchmal verwendet, in dem Gegenstände am nächsten dem Zuschauer zuerst — mit der Regel gemalt werden, dass Farbe auf Teile des Images nie angewandt werden muss, die bereits gemalt werden. In einem Computer grafisches System kann das sehr effizient sein, da es nicht notwendig ist, die Farben zu berechnen (Beleuchtung, texturing und solchen verwendend), für Teile der entfernteren Szene, die durch nahe gelegene Gegenstände verborgen werden. Jedoch leidet der Rückalgorithmus unter vielen derselben Probleme wie die Standardversion.

Diese und anderen Fehler mit dem Algorithmus haben zur Entwicklung von Z-Puffertechniken geführt, die als eine Entwicklung des Algorithmus des Malers, durch die Auflösung von Tiefe-Konflikten auf einer Pixel-für-Pixel-Basis, das Reduzieren des Bedürfnisses nach einer Tiefe-basierten Übergabe-Ordnung angesehen werden können. Sogar in solchen Systemen wird eine Variante des Algorithmus des Malers manchmal verwendet. Da sich Z-Pufferdurchführungen allgemein auf in der Hardware durchgeführte Register des Tiefe-Puffers der festen Präzision verlassen, gibt es Spielraum für Sichtbarkeitsprobleme wegen des Rundungsfehlers. Das sind Übergreifen oder Lücken an Verbindungslinien zwischen Vielecken. Um das zu vermeiden, "machen" einige Grafikmotordurchführungen "über", die betroffenen Ränder von beiden Vielecken in der durch den Algorithmus des Malers gegebenen Ordnung ziehend. Das bedeutet, dass einige Pixel wirklich zweimal gezogen werden (als im vollen Maler-Algorithmus), aber das stößt nur auf kleine Teile des Images und hat eine unwesentliche Leistungswirkung.


Cinna / Übergabe von Scanline
Impressum & Datenschutz