Scanlinerenderer

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Unter "Scanline rendern" versteht man im Allgemeinen die Methode, Polygone in horizontale Linien aufzuteilen, die dann besonders effektiv (sprich schnell) gezeichnet werden können. Scanlines ergeben sich ganz automatisch aus der Organisation des Videospeichers, den man sich als zweidimensionales Feld vorstellen kann, bei dem horizontale Pixel genau hintereinander liegen - wenn man also horizontal benachbarte Pixel zeichnet, so ist keine weitere Offsetberechnung nötig, und man kann direkt mit wiederholten Maschinenbefehlen (auf Intel Architektur z.B. mit rep Präfix) darauf zugreifen. Dass der Videospeicher so aufgebaut ist, ergibt sich übrigens wiederum daraus, dass es früher nur Kathodenstrahlröhren als Bildschirme gab, bei denen der Elektronenstrahl durch Magnetfelder zeilenweise horizontal über die Lochmaske (oder ganz früher die Lumineszenzschicht) gesteuert wurde, d.h. es war wichtiger schnell auf horizontal benachbarte Bilddaten zugreifen zu können.

Auch wenn inzwischen Softwarelösungen zum Rendern ziemlich in den Hintergrund getreten sind, gelten für 3D-Hardware doch die selben Prinzipien, die ansonsten programmgesteuert umgesetzt wurden - d.h. eigentlich alle modernen Grafikkarten können ebenfalls als Scanlinerenderer betrachtet werden, da Polygone immer noch in Zeilen aufgeteilt und von oben nach unten in den Videospeicher gezeichnet werden.

Alternativen zum Scanlinerendern sind beispielsweise: echtes Vektorrendern (wird nicht mehr eingesetzt: mit dieser Methode steuerten manche Computer direkt einen Elektronenstrahl, der dann irgendwas auf der Kathodenstrahlröhre darstellte, es gab also überhaupt keine Pixel) und Raytracing, bei dem es völlig egal ist, wie die Bildpunkte durchlaufen werden, da jeder Bildpunkt für sich berechnet wird - und Raytracing meist ohnehin nicht in Echtzeit abläuft.

--Mars 07:49, 21. Okt 2004 (UTC)