This is an old revision of the document!
Repräsentation der Daten auf der GPU
Einleitender Hinweis: Die GUI verwendet QML für die grafischen Benutzerelemente (Slider, Buttons, usw.). Die eigentliche Visualisierung wird mit zwei Technologien realisiert. Für den radialen Icicle Plot (Darstellung des Baumes mit Ringsegmenten) wird die QPainter API von Qt benutzt, da insbesondere die Darstellung von Text mit OpenGL nicht trivial ist. Für die Darstellung der Kurven (Größenordnung 10.000 Kurven pro Frame) ist QPainter nicht performant genug (ca. 5 sek pro Frame, also 0.2 FPS) für eine interaktive Visualisierung (> 10 FPS). Hierfür verwenden wir OpenGL ES 2.0, um mit einigen Optimierungen mehr als 20 FPS für den gleichen Datensatz zu erreichen.
—
Vertex Buffer
Die Festlegung auf OpenGL ES 2.0 verhindert die Benutzung von Geometry Shadern, daher wird bei Programmstart ein großer Triangle Strip erzeugt, der die Vertices für die höchst mögliche Anzahl an Kurven für einen Datensatz bereit hält und im Vertex Buffer abgelegt wird.
Fig: Layout einer Kurve als Triangle Strip im Vertex Buffer.