VisVolumeRenderer – Dokumentation
Jürgen Weinberger 0527616
Visualisierung LU WS09
Inhalt
Aufgabe ist es
ein Programm in C++ zu erstellen mit welchem Volumsdaten z.B. aus einem CT mittels
Volume-Rendering dargestellt werden können.
Das Programm
startet mit dem Hauptfenster und nur die Achsen sind sichtbar. Das Fenster kann
jederzeit vergrößert, verkleinert und geschlossen werden.
Klickt man auf
die OpenGL-Fläche kann man die Kamera wie in Maya steuern. Also mit der linken
Maustaste gedrückt lässt sich die Kamera um den Mittelpunkt drehen. Mit der linken
u. der rechten Maustaste gedrückt kann man die Kamera verschieben und mit der rechten
Maustaste gedrückt lässt sich Sie sich in Z-Richtung bewegen (Zoom).
·
Open Öffnet einen File-Dialog und
versucht die ausgewählte Datei als
Volumsdatenfile
zu interpretieren bzw. zu laden.
·
Save
Picture Speichert einen Screenshot der
aktuellen OpenGL Ausgabe.
·
Exit Beendet
das Programm
·
Reset
Camera Setzt die Kamera in Ihre Ausgangsposition zurück
·
Parameters Öffnet
den Parameter Dialog
·
Transferfunction Öffnet
den Transferfunction Dialog
·
Lighting Öffnet den Beleuchtungs Dialog
·
Perspective Setzt
die aktuelle Ansicht auf eine Perspektivische.
·
Othtogonal Setzt die
aktuelle Ansicht auf eine Orthogonale
·
Show
Axes Zeigt oder versteckt die Achsen
in der aktuellen Ansicht
·
Show
BoundingBox Zeigt oder
versteckt die Volums-Boundingbox in der aktuellen Ansicht
·
Show
Slice Zeigt eine Schnittebene der
aktuellen Volumsdaten
·
Show
Volume Zeigt die Volumsdaten als 3D Abbild.
·
Info Zeigt den Info Dialog
Hier lassen sich
die allgemeinen Parameter der Volumsdaten und des Renderings einstellen. So
kann man hier die Hintergrundfarbe, die 3D Texturfilterung und die Skalierung
des Würfels einstellen.
Sollte Show Slice
im Menü aktiviert sein kann man außerdem die Position mittels des
Schiebereglers bzw. die Hauptachse des Slices einstellen. Ist das
Volumsrendering allerdings aktiv werden diese Einstellungen ignoriert. Zu guter
letzt lässt sich hier auch das Volumsrendering einstellen, genauer gesagt die
Schrittweite die man beim Raytracing dem Strahl entlang wandert sowie in wie
viele Schritte er unterteilt werden darf und wie diese Daten dann Überlagert
werden sollen (mittels Komposition oder durchschnitt).
Sollten keine
Advanced-Shader möglich sein beschränkt das Programm die Iterationen auf 10.
Hier kann die
Transferfunktion festgelegt werden. Für jeden Wert im Histogramm lassen sich
hier, mittels der + und – Tasten auf der rechten Seite, Farben bzw. Alpha Werte
zuordnen oder löschen. Mittels dem Value-Schieberegler lässt sich dabei die
Position im Histogramm festlegen. Der Schieberegler unter den +,-, reset
Buttons dient dazu den Alpha-Wert einzustellen.
Mittels der „<<“
und der „>>“ Taste lassen sich bereits festgelegte Punkte anspringen um
Sie zu verändern oder zu löschen.
Jedes Preset kann,
mittels der Auswahl-Textbox und den Load bzw, Save Buttons gespeichert und
später wieder geladen werden. Dabei wird eine Datei im Programmverzeichnis
angelegt, presets bleiben also auch nach beenden des Programms gespeichert.
Dieser Dialog ist
nur vorhanden wenn Advanced-Shader möglich sind. Es lassen sich hier die Farben
für die Beleuchtung sowie andere Parameter wie etwas shininess für Glanzlichter
einstellen.
Außerdem kann die
Richtung aus der das Licht kommt verändert werden und die berechneten normalen
mittels Threshold eingeschränkt werden.
Zuerst sollte man
Volumsdaten mittels, File->Open öffnen. Ist das laden dieser Daten
erfolgreich sieht man sofort die Boundingbox der Daten und bereits einen
Schnitt durch diese. Die Schnittfläche kann nun im Parameters-Dialog verändert
werden bzw. kann man auch schon die Transferfunktion darauf anwenden und
verändern. Schaltet man nun auf „Show Volume“ im View Menü wird das Volumen
sichtbar. Meistens empfiehlt es sich die Schrittweite im Parameters-Dialog zu
verkleinern um ein schöneres Bild zu bekommen.
Alle Parameter in
sämtlichen Dialogen sind in Echtzeit veränderbar und wirken sich sofort auf das
Rendering aus.