2017
Dissertation, RWTH Aachen University, 2017
Veröffentlicht auf dem Publikationsserver der RWTH Aachen University
Genehmigende Fakultät
Fak01
Hauptberichter/Gutachter
;
Tag der mündlichen Prüfung/Habilitation
2017-02-02
Online
URN: urn:nbn:de:hbz:82-rwth-2017-015508
DOI: 10.18154/RWTH-2017-01550
URL: https://publications.rwth-aachen.de/record/683725/files/683725.pdf
URL: https://publications.rwth-aachen.de/record/683725/files/683725.pdf?subformat=pdfa
Einrichtungen
Inhaltliche Beschreibung (Schlagwörter)
geometry processing (frei) ; software framework (frei) ; computer graphics (frei)
Thematische Einordnung (Klassifikation)
DDC: 004
Kurzfassung
Geometrieverarbeitung und -rendering sind gegenwärtig sehr aktive Forschungsbere-iche mit einer großen Menge an Teilaspekten. Unter diesen Aspekten sind zum Beispieldie Verarbeitung von Laserscanner-Daten, Modellierung, Animation, Quad-Mesh Erzeu-gung, Rendering oder 3D Druck zu finden. Für die Forschung in diesen Bereichen wirdSoftware benötigt, in der neue Algorithmen umgesetzt sowie Resultate visualisiert wer-den können. Da die meiste Software in der Geometrieverarbeitung ähnliche algorith-mische Strukturen aufweist und auf den selben Datentypen wie Netzen oder Punktenarbeitet, würde ein gemeinsames Software-Framework den Anteil an überfls̈sigen undredundanten Implementierungen zu reduzieren und damit die Entwicklung neuer Algo-rithmen beschleunigen.In dieser Arbeit entwickeln wir ein flexibles Software Framework ”OpenFlipper” fürGeometrieverarbeitung und -rendering. Wir untersuchen typische Arbeitsabläufe undAnwendungsfälle, die sich aus dem Umgang mit Problemen und Fragestellungen ausdiesem Forschungsbereich ergeben. Des Weiteren vergleichen wir existierende Softwareund bestimmen die Vorraussetzungen, die von verschiedenen Benutzergruppen an einsolches System gestellt werden. Außerdem analysieren wir wie ein solches SoftwareFramework in der Lehre Anwendung finden kann, zum Beispiel in Vorlesungen oderPraktika. Basierend auf dieser Analyse leiten wir Softwareanforderungen für ein uni-verselles Geometrieverarbeitungs-Framework ab, das für eine große Vielfalt von Anwen-dungsfällen genutzt werden kann. Weiterhin beschreiben wir wie diese Anforderungen inunserer Software OpenFlipper umgesetzt wurden. Wir liefern Lösungen für alle Aspekteeines solchen Software-Frameworks wie z.B. das Buildsystem, Hardware-Abstraktion,eine flexible modulare Architektur, geometrische Datentypen, Benutzer-Schnittstellenund ihre Verwaltung, Software-Schnittstellen für viele Komponenten des Frameworks,Automatisierung, Rendering und viele mehr. Zusätzlich zeigen wir, dass kontinuierlicheIntegration und automatisiertes Testen dabei helfen, die Programmqualität signifikantzu steigern und dabei fortwährend benutzbare Programmpakete zu erzeugen. Außer-dem decken wir das Projektmanagement sowie die Infrastruktur ab, die benötigt wer-den, um ein schnell wachsendes und großes Software-Paket zu pflegen. Zum Schlusszeigen wir zum einen den Einsatz des Frameworks in der Lehre und zum anderen di-verse Anwendungsfälle, in denen OpenFlipper benutzt wurde, um die Entwicklung vonForschungssoftware signifikant zu beschleunigen.Geometry processing and rendering are highly active research areas coveringa large variety of subtopics. Some of these are the processing of data fromlaser scanners, modeling, animation, quad-meshing, rendering, and 3D printing. Today, a lot of research is performed on these topics requiring softwareto implement and test new algorithms or to visualize their results. As mostof the software in geometry processing provides similar algorithmic structuresand works on common data types like meshes or points, a common frameworkwould greatly reduce the amount of redundant code and increase the develop-ment speed of new algorithms. In this thesis, we develop a versatile softwareframework for geometry processing and rendering. We study the common work-flows and use cases in several geometry processing pipelines. Besides we takea look at existing software frameworks and collect requirements typical usergroups put on these systems. From this analysis we derive a set of softwarespecifications for a general geometry processing framework which can be usedin a large variety of use cases. We describe how these software specificationshave been implemented in our open source framework called OpenFlipper andprovide a software solution for all components of such a framework. These com-ponents include the build system, abstractions to operating system and hard-ware, and a highly flexible plug-in architecture to achieve a modular structure.Furthermore, we provide plug-ins for geometric data types, user interface creation and management, as well as software interfaces for various aspects of theframework, including software automation, rendering and many more. Additionally, we show how software testing via continuous integration can assist bysignificantly improving the code quality and furthermore allows to constantlydeliver ready-to-use software packages. We also cover the project management and infrastructure which is required to successfully create and maintain such alarge and fast-growing framework. In the end we present several use cases toshow how OpenFlipper performed in practical courses and how it was used tosimplify the development of research applications.
OpenAccess:
PDF PDF (PDFA)
(additional files)
Dokumenttyp
Dissertation / PhD Thesis
Format
online
Sprache
English
Externe Identnummern
HBZ: HT019236230
Interne Identnummern
RWTH-2017-01550
Datensatz-ID: 683725
Beteiligte Länder
Germany