Technischer Hintergrund
Anpassung von Rotationsachsen Automatisation von Screenshots
Dokumentation

Automatisation von Screenshots

Gigamesh stellt die Möglichkeit zur Verfügung von dem angezeigten Objekt Screenshots aufnehmen zu lassen. Dabei kann zwischen einer Einzelaufnahme des Objektes oder der Aufnahme aller sechs Seitenaufnahmen ausgewählt werden.

Problemstellung

Wenn bereits bekannt ist, welche Screenshots von welchen 3D-Objekten gemacht werden sollen, ist das tatsächliche Aufnehmen ein vergleichsweise mühseliger Prozess. Die entsprechenden Dateien müssen eingelesen, die 3D-Objekte manipuliert und die Screenshots einzeln angefordert werden, wobei jeder dieser Arbeitsschritte per Hand durchgeführt werden muss.

Die Funktion

Um die Aufnahme von Screenshots zu erleichtern, ist in dem Fortgeschrittenenpraktikum eine Funktion eingeführt worden, die es erlaubt, mittels einer Konfigurationsdatei den Prozess zu automatisieren.
Bei der Konfigurationsdatei handelt es sich um eine zuvor durch den Benutzer geschriebene .xml-Datei, die es erlaubt für eine beliebige Anzahl an Objekten eine beliebige Anzahl von Screenshots zu definieren. Das heißt konkret, das für ein beliebiges Objekt mehrere Screenshots aufgenommen werden können, wobei für jeden einzelnen dieser Screenshots die Kameraeinstellungen (siehe dazu auch Augenpunkttransformationen unter "Technischer Hintergrund" in dem Abschnitt "Computergrafik) sowie die Eigenschaften des Screenshots selbst (z.B. tiled oder nicht tiled) festgelegt werden können.

Die .xml-Datei

In der .xml-Datei werden die Parameter für die Screenshots der einzelnen Objekte angegeben.
Hierbei wird bei den binären Parametern ("orthoMode", "scrshotSingle","sphericalVertical" und "tiledRendering") die Konvention verwendet, daß ungleich 0.0 'an' und gleich 0.0 'aus' bedeutet.

Die wichtigsten Parameter sollen hier kurz erklärt werden:

objectFileName
- der Datei-Name des Objektes, das geladen werden soll
orthoMode
- Wechsel zwischen orthographischer und perspektivischer Projektion
- gleich 0.0: perspektivische Projektion, ungleich 0.0: orthographische Projektion
angleFOV
- entspricht der "Zoom"-Funktion für die perspektivische Projektion
- angleFOV > 45.0 entspricht "Zoom out", angleFOV < 45.0 entspricht "Zoom in"
dpi
- setzt Faktor durch den der default-Wert 175 dpi geteilt wird, um einen "Zoom in"- oder "Zoom out"-Effekt zu erzielen
- > 1.0 entspricht "Zoom out", 0.0 < dpi < 1.0 entspricht "Zoom in"
angleX
- Winkel, den das Objekt um die x-Achse gedreht werden soll
- analog für angleY und angleZ
scrshotSingle
- Auswahl zwischen Einzelaufnahme oder den sechs Seitenaufnahmen
- gleich 0.0: Seitenaufnahmen, ungleich 0.0: Einzelaufnahme
imageName
- der Datei-Name, unter dem der Screenshot gepeichert werden soll
- sind die Seitenaufnahmen ausgewählt, werden auf Basis von dem gegebenen Datei-Namen sechs generiert

Intern wird der von der Qt-Bibliothek bereitgestellte .xml-Parser benutzt, um die Konfigurationsdatei auszuwerten.

Hauptseite