Hierarchical Edge Bundle 1.0
Implementierung

Dieses Progamm wurde in C++, Open GL und GLSL implementiert. Die GUI wurde mithilfe von QT implementiert.

Das Programm wurde in verschiedene Bereiche untergliedert. Nämlich:

Die GUI wurde mithilfe von QT und den QT Designer erstellt. Dadurch werden in MainWindow nur noch Slots zum laden der QUI Werte benötigt, welche weiters mit einer einfachen statischen Klasse (Renderstates) an den Renderer weitergegeben werden.

Der Graphteil verwaltet den Baum. Es werden Vertex (Nodes) und Edges (hierarchisch und relation) zur Verfügung gestellt. Man kann Daten hinzufügen, bearbeiten, löschen und einfache Operationen auf dem Graph ausführen. Der Graph wird mithilfe des Importers erstellt.

Der Importer erstellt den Graph. Es können einerseits XML, anderseits RTF Daten geladen werden.

Die Darstellung wird im Rendering Teil erstellt. Es wurden verschiedene Renderingpasses erstellt, nämlich für

Beim Schatten wird ein einfacher Variance Shading Mapping (VSM) Algorithmus mithilfe von Shader in GLSL erstellt.

Die Standardobjekte werden mithilfe von Phongshading schattiert. Desweiteren wird in einem weiteren Farbbuffer die ID jedes Objektes hineingeschrieben um Objekte zu erstellen. Wenn der Benutzer ein Objekte auswählen will, wird einfach an der entsprechendenen Position die ID aus dem Farbbuffer ausgelesen und das ursprüngliche Objekte als selektiert markiert.

Außerdem werden verschiedene Blending Modus zur Verfügung gestellt. Standardblending, Maxblending, Kombination Standard+Maxblending, Weighted Average[3] und Weighted Sum[3].

Technologien

Technologien:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines