Fraunhofer-Gesellschaft

Publica

Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Grimaldo. A scriptable framework for developing visual applications

 
: Hecher, Martin
: Havemann, Sven; Settgast, Volker

Graz, 2011, 85 S.
Graz, TU, Master Thesis, 2011
Englisch
Master Thesis
Fraunhofer IGD ()
Fraunhofer Austria ()
3D authoring; scene graphs; Generative Modeling Language (GML)

Abstract
This thesis describes a novel way to integrate the Generative Modeling Language (GML) into custom applications with the presented Grimaldo framework. The framework extends the GML software stack with a new entity, the GML context. A context encapsulates a GML model into a nodal unit. The node based approach makes it possible to manage multiple GML models within a virtual 3D scene. To efficiently organize the scene Grimaldo utilizes a node-tree system that allows to store contexts in a hierarchical structure. Changes of the structure, like the addition, removal, etc. of a node are propagated by an event system. The application subscribes to these events to react on the changes. The node management system is completely exposed to the GML's scripting facility. It is therefore possible to dynamically create models and to organize them within the scene at runtime. The runtime modification possibility allows a fast creation of the desired functionality.
The Grimaldo framework provides a data management system to attach arbitrary data blocks to models. Data blocks integrate a synchronization mechanism to establish channels between the model and the custom application for exchanging data and to react on data changes on either side. The framework also exposes the material system of the GML. The interface allows to use an existing material system to override the built-in shading of models.
The usage of the Grimaldo framework is demonstrated with the OpenSG system. The presented techniques are used to connect the node-tree with OpenSG's scene graph and to display and interact with GML models.

 

Diese Arbeit beschreibt einen neuen Weg, um die Generative Modeling Language (GML) in andere Applikationen zu integrieren. Dazu wird das vorgestellte Grimaldo Framework benutzt. Das Framework erweitert die bestehende Software- Basis der GML um ein neues Objekt, den GML Context. Das Objekt wird verwendet, um ein GML-Modell in einen Knoten abzubilden. Der knoten-basierte Ansatz erlaubt es, mehrere Modelle in einer virtuellen 3D-Szene darzustellen. Um die Szene effizient zu verwalten, verwendet Grimaldo eine Baumstruktur, die Knoten hierarchisch organisiert. Änderungen der Baumstruktur, wie das Hinzufügen eines Knotens oder das Entfernen, werden über ein Event-System propagiert. Die Applikation hat die Möglichkeit, bestimmte Events zu registrieren, um bei Änderungen enstprechend reagieren zu können.
Das Management der Knoten wird mit der Scripting-Funktionalität der GML gesteuert. Dadurch können 3D-Szenen zur Laufzeit erstellt und bearbeitet werden. Die Möglichkeit, alle Aspekte der Szene zur Laufzeit zu verändern, ermöglicht eine schnelle Entwicklung der gewünschten Funktionalität.
Für einen einfachen Austausch von Daten zwischen einem Modell und der Applikation bietet Grimaldo ein eigenes System, das es erlaubt, beliebige Datenblöcke an einen Knoten anzuheften. Die Datenblöcke sind mit einem Synchronisations-Mechanismus ausgestattet, um einen Kommunikationskanal zwischen dem Modell und der Applikation aufzubauen. Über diesen Kanal können Daten ausgetauscht und abgeglichen werden.
Existierende Applikationen bieten in den meisten Fällen ihr eigenes Materialverwaltungssystem für den Renderingprozess. Um ein solches System gemeinsam mit der GML benutzen zu können, bietet Grimaldo die Möglichkeit, die eingebauten Materialeinstellungen der GML zu steuern und gegebenenfalls durch das eigene System zu ersetzen.
Als Anwendungsbeispiel für den Einsatz des Frameworks demonstriert diese Arbeit die Integration der GML in das OpenSG System. Die vorgestellten Techniken werden verwendet, um die interne Knotenstruktur auf den OpenSG Szenengraphen abzubilden. Es wird gezeigt, wie GML Modelle gerendert werden und wie die Interaktion mit den Modellen funktioniert.

: http://publica.fraunhofer.de/dokumente/N-267199.html