|
Beschleunigung von 3D - Grafik (speziell OpenGL)
Man ist relativ stark erstaunt, wieviele Dreiecke heutige Grafikkarten über Software wie zB OpenGL, Grafiktreiber und Bildschirmspeicher bis auf den Bildschirm schleudern können. Macht man sich jedoch selbst daran, kommt man schnell auf den Geschmack, große 3D - Modelle mit mehreren tausend Dreiecken zu produzieren. Das einfache Programm, dass die errechneten Daten hernimmt und direkt durch die Grafikschnittstelle auf den Bildschirm zaubert, muss um eine weitere Schicht erweitert werden, und zwar um diejenige, die im Voraus in noch kürzerer Zeit jene Dreiecke aussortiert, die bei der Darstellung eigentlich entfallen könnten. Das Problem dabei ist, dass diese Entscheidung in einer noch kürzeren Zeit getroffen werden muss, als die Darstellung selbst an Zeit in Anspruch nimmt.
Um das gewährleisten zu können, müssen Hierarchien geschaffen werden, die dazu dienen, eine Entscheidung für mehrere gleichzeitig fällen zu können, da mehrere Objekte in einer Schicht liegen, aber für die darüberliegende wichtigere Schicht schon die Entscheidung getroffen wurde, sie nicht anzeigen zu müssen.
Folgende zum Teil auch einfach umzusetzende Optimierungen können jede 3D - Engine zu wesentlich höherer Leistung verhelfen:
|