Filtern
Erscheinungsjahr
Dokumenttyp
- Bachelorarbeit (100) (entfernen)
Schlagworte
- Computervisualistik (8)
- OpenGL (7)
- Computergrafik (5)
- Android (4)
- Graphik (4)
- Line Space (4)
- Augmented Reality (3)
- C++ (3)
- Compute Shader (3)
- Computergraphik (3)
Institut
- Institut für Computervisualistik (100) (entfernen)
Simulation von Rauch
(2019)
Diese Bachelorarbeit befasst sich mit der Simulation von Rauch mittels einem Partikelsystem. Hierbei werden die Möglichkeiten untersucht Rauch möglichst realistisch in einem Partikelsystem zu implementieren und in Echtzeit berechnen zu lassen. Die physikalische Simulation basiert dabei auf den Arbeiten von Müller und Ren, welche sich mit den physikalischen Eigenschaften von Fluiden und Gasen beschäftigen. Die Simulation wurde mittels C++, OpenGL und der in OpenGL verfügbaren Compute-Shader auf der GPU implementiert. Dabei wurde ein besonderes Augenmerk darauf gelegt, dass diese möglichst performant ist. Hierfür werden Techniken von Hoetzlein benutzt um das Partikelsystem zu beschleunigen. Daraufhin wurden zwei Beschleunigungsverfahren implementiert und werden noch gegenübergestellt. Dabei werden die Laufzeit, sowie verbrauchter Speicherplatz der GPU betrachtet.
Im Bereich der Computergraphik bilden die Nicht-Photorealistischen Renderingverfahren einen Schwerpunkt in der technischen und wissenschaftlichen Visualisierung, vor allem aber in den künstlerischen Bereichen. Verschiedene Kunststile, sowie Zeichenmaterialien und ihre Eigenschaften stellen unterschiedliche Herausforderungen dar. Eine dieser Herausforderungen ist hierbei die Simulation flüssiger Zeichenmittel.
Diese Arbeit beschäftigt sich mit der Erstellung eines interaktiven Zeichensystems für ein flüssiges Zeichenmittel, der Aquarellmalerei. Für die Simulation wird eine raue Zeichengrundlage generiert, sowie die Fluid Simulation und das optische Farbverhalten der Aquarellmalerei implementiert.
In keinem Bereich der Informatik hat sich die Hardware so rasant entwickelt wie im Bereich der Computergrafik. So können wir heute komplexe, geometrische Szenen in Echtzeit in immersiven Systemen darstellen und auch aufwendige Simulationen integrieren.
Ziel dieser Arbeit ist es, die Simulation von Farbspritzern in einer virtuellen Welt zu realisieren. Hierzu wird mithilfe von Unity eine Anwendung umgesetzt, die drei verschiedene Techniken verwendet, mit denen die Umgebung mithilfe von Farbspritzern eingefärbt werden kann. Auf Basis dieser Anwendung werden die Grenzen und Möglichkeiten der Techniken in virtuellen Umgebungen genauer untersucht.
Diese Untersuchung zeigt, dass eine inverse Projektion die besten Ergebnisse vorweist.
Augmented Reality besitzt viele denkbare Anwendungsbereiche, in denen Alltag oder Arbeitsprozesse vereinfacht werden können. Dadurch, dass viele Hersteller sehr unterschiedliche Augmented Reality Brillen anbieten, wird die Auswahl des richtigen Systems und eine systemübergreifende Entwicklung jedoch erschwert. Im Rahmen dieser Bachelorarbeit wird daher eine Anwendung entwickelt, mit der Augmented Reality Brillen auf einem Virtual Reality System simuliert werden können. Damit soll eine plattformübergreifende Entwicklung sowie die Auswahl des richtigen Systems vereinfacht werden.
Da die Simulation für mobile Endgeräte konzipiert werden soll, sollen möglichst realistische Umgebungen als Panorama vorgerendert werden können. Um diese auf Virtual Reality Systemen als stereoskopische Bilder darstellen zu können, werden verschiedene Verfahren zur Konvertierung in solche vorgestellt. Es wird ein Editor entwickelt, mit dem verschiedene Szenarien erstellt, Augmented Reality Systeme konfiguriert und schließlich auf einem Virtual Reality System angezeigt werden können. Abschließend wird untersucht, wie gut die Simulation gelungen ist und welche Verbesserungsmöglichkeiten es gibt.
Winzige vom Wind getriebene Wellen, flache, lange Wellen, steile sich überlagernde Wellen oder stürmische Brecher, sie alle kommen in jedem der Weltmeere und sogar in kleinen Seen vor. Die Wasseroberfläche ist eines der vielfältigsten Naturphänomene. Nicht nur die Bewegung der Wellen, auch die Spiegelung von Himmel, Sonne und Küste machen die Meeresoberfläche einzigartig. Gerade diese einzigartige Komplexität stellt ihre ganz eigenen Herausforderungen an die Nachahmung solcher Phänomene. Deshalb stellt die Berechnung von Wellen schon seit gut 400 Jahren Mathematiker vor eine große Aufgabe.
In den letzten fünfzig Jahren hat sich diese Herausforderung immer mehr in den Bereich der Informatik verschoben. Computergrafiker versuchen seit Jahrzehnten Wasser realistisch darzustellen. Die Forschung auf diesem Gebiet reicht mittlerweile von einfachen Ansätzen wie Rauschfiltern bis zu mathematisch hoch komplexen Ansätzen, wie der Fourier Transformation.
In der nachfolgenden Arbeit wird sowohl auf die geschichtliche Entwicklung der heutigen Wellentheorien, als auch auf die mathematischen Grundlagen dieser eingegangen. Schwerpunkt der Arbeit ist es, diese Methoden in OpenGL 3.3 zu implementieren.
In dieser Bachelorarbeit wird ein Simulationscode für astrophysikalische
Simulationen von Fluiden unter dem Einfluss ihrer eigenen
Gravitation entwickelt. Der Code wird hauptsächlich von der GPU
ausgeführt. Leichte Vereinfachungen der physikalischen Modelle und
einige Parameter zum Steuern von Genauigkeit und Rechenaufwand
ermöglichen das Simulieren mit interaktiver Bildwiederholrate auf den
meisten handelsüblichen, modernen Computern mit einer dedizierten
Grafikkarte. Der Simulationscode wird verwendet, um die Entstehung
von Sternen aus einer Gaswolke zu simulieren. Einige Merkmale der
Sternentstehung, wie zum Beispiel Akkretionsscheiben und Fragmentierung,
lassen sich selbst bei niedrigen Partikelzahlen beobachten.
Die vorliegende Arbeit stellt eine Rigid-Body Physik-Engine vor, deren Schwerpunkt auf der Kollisionserkennung per GPU liegt. Die steigende Performanz und Zugänglichkeit moderner Grafikkarten sorgt dafür, dass sich diese auch für Algorithmen nutzen lassen, die nicht nur zur Bilderzeugung gedacht sind. Dieser Vorteil wird genutzt, um eine effiziente auf Partikeln basierende Kollisionserkennung zu implementieren. Mit Hilfe einer Testumgebung wird dann der Performance-Unterschied zwischen CPU und GPU dargestellt.
In der Computergrafik stellte das echtzeitfähige
Rendern von Haaren und Fell ein Problem dar. Die
Berechnung der Beleuchtung, Schattierung und
Transparenz erfordert einen hohen Rechenaufwand,
welcher sich negativ auf die Performanz auswirkt.
Doch durch verbesserte Hardware und neue Verfahren
ist es möglich, solch komplexe Effekte in Echtzeit
zu simulieren. In folgender Arbeit werden die
Grundlagen des Renderings von Haaren erläutert.
Außerdem wurde im Rahmen der Arbeit eine
echtzeitfähige Demo implementiert, deren zugrunde
liegende Verfahren und Funktionalitäten beschrieben
werden. Um die Demo zu evaluieren wurde die mögliche
Anzahl an Bildern pro Sekunde bei Modellen
unterschiedlicher Komplexität gemessen. Schließlich
wurden die Ergebnisse mit Bildern von echten Haaren
verglichen.
In keinem Bereich der Informatik hat sich die Hardware so rasant entwickelt,
wie im Bereich der Computergraphik. Dabei bietet die GPU, neben
der reinen Darstellung von Dreiecken, inzwischen auch eine Reihe weiterer
Pipeline-Schritte, die auch die Darstellung von anderen graphischen
Objekten, wie zum Beispiel den Freiformflächen, ermöglicht.
Diese Arbeit beschäftigt sich mit dem Rendering von Freiformflächen,
insbesondere dem der Bézierflächen. Dafür wurde für das Rendering Framework
der Universität Koblenz (CVK) eine entsprechende Implementierung
zur Verwaltung und Darstellung von Bézierflächen erstellt. Dazu wurde
zunächst die Triangulation und schließlich die Tessellierung der Bézierflächen
mit Normalen und Texturkoordinaten, sowie die Behandlung von
Trimmkurven erstellt.
In der Computergrafik stellte die Berechnung von Reflexionen lange ein
Problem dar. Doch mit der ständigen Weiterentwicklung der Hardware
und Vorstellung neuer Verfahren ist eine realitätsnahe,
echtzeitfähige(durchschnittlich 60 FPS) Berechnung von Reflexionen möglich. In der folgenden Ausarbeitung werden verschiedene Reflexionsverfahren vorgestellt. Alle mathematischen und physikalischen Grundlagen werden gegeben, um die Algorithmen nachvollziehen zu können. Da eine Reflexion immer das Abtasten eines reflektierten Vektors bedeutet, werden zwei verschiedene Abtastungsverfahren für blickabhängige Reflexionen vorgestellt und anschließend implementiert. Zuletzt werden die Verfahren auf Basis von Qualität und Performance gegenübergestellt.
Die Entwicklung der echtzeitfähigen Computergrafik ermöglicht mittlerweile immer realistischere Bilder und die Hardware kann dafür optimal ausgenutzt werden, wodurch immer glaubwürdigere Lichtverhältnisse simuliert werden können. Eine große Anzahl von Algorithmen, effizient implementiert auf der Grafikkarte (GPU, auch Grafikprozessor)), sind fähig komplexe Lichtsituationen zu simulieren. Effekternwie Schatten, Lichtbrechung und Lichtreflexion können mittlerweile glaubwürdig erzeugt werden. Besonders durch Reflexionen wird der Realismus der Darstellung erhöht, da sie glänzende Materialien, wie z.B. gebürstete Metalle, nasse Oberflächen, insbesondere Pfützen oder polierte Böden, natürlich erscheinen lassen. Dabei geben sie einen Eindruck der Materialeigenschaften, wie Rauheit oder Reflexionsgrad.rnAußerdem können Reflexionen vom Blickpunkt abhängen: Eine verregnete Straße zum Beispiel würde Licht, abhängig von der Entfernung des Betrachters reflektieren und verwaschene Lichtreflexe erzeugen. Je weiter der Betrachter von der Lichtquelle entfernt ist, desto gestreckter erscheinen diese. Ziel dieser Bachelorarbeit ist, eine Übersicht über existierende Render-Techniken für Reflexionen zu geben, um den aktuellen Stand der Technik abzubilden. Reflexion entsteht durch den Einfall von Licht auf Oberflächen, die dieses in eine andere Richtung zurückwerfen. Um dieses Phänomen zu verstehen, wird eine Auffassung von Licht benötigt. Kapitel 2.1 beschreibt daher ein physikalisches Modell von Licht, gefolgt von Kapitel 2.2, das anhand von Beispielen ästhetisch wirkender Reflexionseffekte aus der realenrnWelt und den Medien die Motivation dieser Arbeit darlegt. In Kapitel 3 soll die generelle Vorgehensweise beim Rendern von Reflexionen deutlich gemacht werden. Danach wird in Kapitel 4 eine grobe Übersicht über existierende Ansätze gegeben. In Abschnitt 5 werden dann drei wesentliche Algorithmen vorgestellt, die zur Zeit oft in Spiel- und Grafikengines verwendet werden: Screen Space Reflections (SSR), Parallax-corrected cube mapping (PCCM) und Billboard Reflections (BBR). Diese drei Ansätze wurden zusammen in einem Framework implementiert. Dieses wird in Kapitel 5 vorgestellt und erklärt, gefolgt von detaillierten Beschreibungen der drei Techniken. Nachdem ihre Funktionsweise erklärt wurde, werden die Ansätze analysiert und auf ihre visuelle Qualität sowie ihre Echtzeitfähigkeit getestet. Abschließend werden die einzelnen Verfahren miteinander verglichen, um ihre Vor- und Nachteile zu untersuchen. Außerdem werden die gewonnenen Erfahrungen beschrieben und Verbesserungsansätze vorgeschlagen. Danach wird ein kurzer Ausblick zur voraussichtlichen Entwicklung von Render-Techniken spekularer Effekte gegeben.
Raytracing von NURBS
(2019)
NURBS sind eine Art von Splines, die besondere Eigenschaften besitzen.
Das ray tracen von NURBS ist eine der Darstellungsmöglichkeiten von NURBS.
Dies ist durch das konkrete berechnen von Schnittpunkten mit Strahlen
möglich. Durch die vielseitige Möglichkeiten der Modellierung mittels NURBS
sind diese beliebt in Anwendungen die im Maschinenbau verwendet werden
und auch anderen CAD-Programmen. Diese Arbeit befasst sich mit der
Berechnung von NURBS-Kurven und -Oberflächen, dem direkten rendern
von diesen und wägt ab ob sich der Aufwand dafür im Vergleich zu Tesselierung
lohnt.
Raytracing mit Vulkan
(2018)
Der Schwerpunkt der vorliegenden Bachelorarbeit war die Entwicklung eines einfachen Raytracerprogrammes unter der Verwendung der Vulkan API, und das Einschätzen des Mehraufwandes im Vergleich zum Performancegewinn. Das Programm wird in dieser Arbeit vorgestellt. Die Vulkan Komponente des Programms wird detailliert erklärt. Anschließend wird das Programm mit einem, unter der Verwendung von OpenGL geschriebenen, ähnlichen Raytracerprogramm verglichen. Beide Programme verwenden dabei den gleichen Raytracer, der im Fragmentshader implementiert ist. Der Test ergibt, dass der mithilfe von Vulkan geschriebene Raytracer deutlich langsamer ist, als das zum Vergleich dienende OpenGL Programm.
Die folgende Bachelorarbeit gibt einen Überblick über verschiedene Ansätze und Verfahren zur prozeduralen Generierung von dreidimensionalen Stadtmodellen. Dabei wird vor allem die Nutzung generativer Grammatiken näher untersucht und in einer eigens implementierten Anwendung integriert. Der Schwerpunkt war es, ein vorgegebenes, primäres Straßennetz einzubinden und darauffolgend ein sekundäres Straßennetz sowie verschiedene Gebäude prozedural zu generieren. Die Anwendung ermöglicht es, umfangreiche und unterschiedlich strukturierte Stadtmodelle auf effiziente Weise zu erzeugen. Hinsichtlich des Realismus und Variantenreichtums weisen die Ergebnisse jedoch Grenzen auf.
Hubschrauber sind aus heutiger Sicht unverzichtbar. Eine Reihe von Anwendungsgebieten zeigt das Einsatzspektrum, die andere Flugmuster im Vergleich zum Hubschrauber nicht leisten können. Allerdings handelt es sich bei einem Hubschrauber um ein sowohl technologisch als auch physikalisch hochkomplexes System. Entsprechend aufwendig ist die Aus- und Weiterbildung von Piloten. Gerade in den letzten zwei Jahrzehnten hat sich daher die Flugsimulation als wertvolle Ergänzung zum klassischen Training herausgestellt. Mittels Flugsimulatoren ist es möglich, schwierige oder gar gefährliche Situationen bedarfsgerecht nachzuempfinden und zu üben. Im Rahmen dieser Arbeit soll ein vereinfachter Hubschraubersimulator, basierend auf Starkörperkinematik, entwickelt werden. Dabei wird ein idealisiertes Rotormodell angenommen und auf komplexe strömungsmechanische Phänomene verzichtet, um eine Implementation übersichtlich zu illustrieren und echtzeitfähig zu sein. Dabei sind die Module dementsprechend in der Unreal Engine umgesetzt, dass eine Adaption an andere Flugmuster ohne großen Aufwand möglich ist.
Der natürliche Prozess der Verwitterung ist ein komplexer Vorgang, der von unterschiedlichsten Parametern beeinflusstwird. Hauptbestandteil dieses Prozesses ist das Zusammenziehen des Fruchtvolumens infolge von Wasserverlust durch Transpiration sowie die Veränderung der Fruchtfarbe und Oberfläche. Es wurden bereits Verfahren entwickelt, die diese Eigenschaften mit Hilfe von Parametrisierung sowie physikalischer Ansätze simulieren. Die in dieser Arbeit erstellte Anwendung simuliert das Fruchtfleisch durch ein Tetraedernetz und die Veränderung der Haut mit Hilfe von dynamischer Texturanpassung. Der entwickelte Algorithmus arbeitet in linearer Laufzeit und seine Ergebnisse werden anhand selbst erstellter Fruchtmodelle präsentiert.
Bei der Mensch-Maschine-Interaktion spielt die Verfolgung und Identifizierung von Personen eine wichtige Rolle. Im Rahmen dieser Arbeit ist für den Serviceroboter Lisa, der Arbeitsgruppe Aktives Sehen, ein Framework erstellt worden, um verschiedene Verfahren zur Erkennung, Verfolgung und Identifizierung von Personen zu kombinieren. Zuerst wird mittels 2D Lasers an eine Beindetektion durchgeführt um Hypothesen für Personen aufzustellen. Diese Annahme muss noch durch eine Analyse der Kinect-Punktewolke bestätigt werden. Nach erfolgreicher Bestätigung wird ein Online-Boosting auf RGB-Daten zur Identifizierung durchgeführt. Die Beindaten werden zudem mit einem linearen Kalman-Filter für die Schätzung der Personenbewegung genutzt. Durch die Kombination von Kalman-Filter mit Beindetektion und Online-Boosting soll Personenverfolgung ermöglicht werden. Des Weiteren soll eine Verwechslung von Personen - durch kurzzeitige Verdeckung oder fehlerhaftes assoziieren von Beinen - verhindert werden.
Die vorliegende Arbeit befasst sich mit der Anwendung und Optimierung globaler Beleuchtung in dreidimensionalen Szenen. Dabei wird nicht nur die direkte Beleuchtung in Abhängigkeit einer oder mehrerer Lichtquellen, sondern auch indirekte Beleuchtung durch umliegende Objekte berücksichtigt. Schwerpunkt dieser Arbeit ist es, die Ergebnisse eines globalen Beleuchtungsverfahrens durch die Implementation unter OpenGL 4.4 zu verbessern. Dies geschieht mithilfe einer Voxelisierung der Szene. Durch eine Traversierung der entstehenden Voxel-Struktur werden zusätzliche Informationen der Szene entnommen, was zu einer realistisch wirkenden globalen Beleuchtung beiträgt.
Thematik dieser Arbeit ist das dreidimensionale Image-Warping für diffuse und reflektierende Oberflächen. Das Warpingverfahren für den reflektierenden Fall gibt es erst seit 2014. Bei diesem neuen Algorithmus treten Artefakte auf, sobald ein Bild für einen alternativen Blickwinkel auf eine sehr unebene Fläche berechnet werden soll.
In dieser Arbeit wird der Weg von einem Raytracer, der die Eingabetexturen erzeugt, über das Warpingverfahren für beide Arten der Oberflächen, bis zur Optimierung des Reflective-Warping-Verfahrens erarbeitet. Schließlich werden die Ergebnisse der Optimierung bewertet und in den aktuellen sowie zukünftigen Stand der Technik eingeordnet.