Institut für Computervisualistik
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)
- GPGPU (3)
- Linespace (3)
- OpenGL Shading Language (3)
- Programmierung (3)
- Virtual Reality (3)
- Applikation (2)
- Bildverarbeitung (2)
- Datenstruktur (2)
- Global Illumination (2)
- Grafikkarte (2)
- Immersion (2)
- Informatik (2)
- Path Tracing (2)
- Physiksimulation (2)
- Raytracing (2)
- Realistische Computergrafik (2)
- Rendering (2)
- Shader (2)
- Smartphone (2)
- VOXEL (2)
- 3D (1)
- Android development (1)
- Androidentwicklung (1)
- App (1)
- Assembly (1)
- Astrophysik (1)
- Automatische Klassifikation (1)
- Autorensystem (1)
- Beleuchtung (1)
- Beschleunigungsensor (1)
- Bildanalyse (1)
- Blickpunktabhängig (1)
- Bounding Volume Hierarchy (1)
- Brechung (1)
- Coloskopie (1)
- Compute-Shader (1)
- Computer Graphics (1)
- Constitutive Model (1)
- Cybersickness (1)
- Darmpolyp (1)
- Digitale Bilder (1)
- ECSA (1)
- Echtzeit Raytracing (1)
- Entity Component System Architecture (1)
- Entwicklung (1)
- Erweiterte Realität (1)
- Eulerian grid (1)
- Extended Reality (1)
- Fabric Simulation (1)
- Fast Convolution (1)
- Fell (1)
- Fell Rendering (1)
- Flow-Erlebnis (1)
- Fluidsimulation (1)
- Fourier (1)
- Fresnel (1)
- GPU (1)
- Gerstner (1)
- Geste (1)
- Gesteninterpretation (1)
- Glint Center Estimation Algorithmus (1)
- Globale Beleuchtung (1)
- Grafik (1)
- Grafikprogrammierung (1)
- Graphicsprogramming (1)
- Grundschule (1)
- Haare (1)
- Halbschatten (1)
- HoloLens (1)
- Innenarchitektur (1)
- Jump'n Run-Spiel (1)
- Kartesisches Euler-Gitter (1)
- Kartesisches Gitter (1)
- Kinect (1)
- Kollaboration (1)
- Kollisionserkennung (1)
- Konturfindung (1)
- Leap-Motion (1)
- Lehrer (1)
- Lernspiel (1)
- Light Injection (1)
- Material Point Method (1)
- Material point method (1)
- Materialmodell (1)
- Materie-Punkt-Methode (1)
- Merkmalsdetektion (1)
- Modellierungstool (1)
- Montage (1)
- Motion Sickness (1)
- Musik (1)
- N-Body Simulation (1)
- N-Körper Simulation (1)
- Nvidia CUDA (1)
- OpenCL (1)
- Par (1)
- Partikel (1)
- Partikelsystem (1)
- Pathtracing (1)
- Pre-Integration (1)
- Pupil Center Estimation Algorithmus (1)
- Ray Tracer (1)
- Ray tracing (1)
- Ray-Casting (1)
- Reflections (1)
- Reflektionen (1)
- Reflexion (1)
- Reverberation (1)
- Schnee (1)
- Schnelle Faltung (1)
- Sensor (1)
- Sensorensteuerung (1)
- Specular (1)
- Spiel (1)
- Stadt (1)
- Starrkörper (1)
- Sterne (1)
- Steuerung (1)
- Stoffsimulation (1)
- Text (1)
- Texterkennung (1)
- Touchscreen (1)
- Transfer function (1)
- Transferfunktion (1)
- VR (1)
- VST (1)
- Virtuelle Realität (1)
- Visualisierung (1)
- Volumen (1)
- Volumen-Rendering (1)
- Volumendaten (1)
- Voxelisierung (1)
- Wasseroberfläche (1)
- Wellen (1)
- Wiederhall (1)
- accelerometer (1)
- android (1)
- area light (1)
- fur rendering (1)
- general purpose (1)
- graphics card (1)
- indirect lighting (1)
- indirektes Licht (1)
- interactive application (1)
- interaktive Applikation (1)
- interaktiven (1)
- jump'n run game (1)
- line space (1)
- menschliches Auge (1)
- multidimensional transfer function (1)
- multidimensionale Transferfunktion (1)
- physics simulation (1)
- prozedural (1)
- ray casting (1)
- raycasting (1)
- raytracing (1)
- reflection (1)
- refraction (1)
- rigid body (1)
- sensor control (1)
- shader (1)
- snow (1)
- soft shadow (1)
- volume rendering (1)
- volume visualization (1)
- volumenrendering (1)
- voxelization (1)
- water surface (1)
- waves (1)
Diese Arbeit befasst sich mit einer 3D-Interaktion von primitiven Objekten, welche von Gesten gesteuert wird. Dabei werden Funktionen, welche auf eine absolute Positionierung angewiesen sind, mit Hilfe eines Touchscreens implementiert. Als zweites Eingabegerät dient die Leap-Motion, welche Gesten anhand von zwei CCD-Kameras und drei Infrarot-LEDs aufnimmt. Die Gesten bestehen dabei aus der Translation, Rotation und Skalierung von Objekten, sowie aus einer Steuerung, die die Bewegung im Raum ermöglicht. Zur visuellen Umsetzung wurde die Arbeit in Blender mit der Blender Game Engine unter Python geschrieben. Nur das Auswählen der Objekte wurde mit Hilfe des Touchscreens realisiert. Diese Steuerung wurde anschließend mit einer reinen Maussteuerung evaluiert. Diese beiden Eingabemöglichkeiten unterscheiden sich darin, dass die Gestensteuerung nicht etabliert ist. Sie besitzt allerdings den Vorteil, dass sie im dreidimensionalen Raum ausgeführt werden kann. Die Maus hingegen ist geläufig, beschreibt aber nur einen zweidimensionalen Raum als Eingabe. Es stellt sich also die Frage, ob bei der dreidimensionalen Interaktion von Objekten eine Maussteuerung oder eine Gestensteuerung bevorzugt wird. Das Ergebnis beläuft sich daran, dass die Maus favorisiert wird. Jedoch liegt die Gestensteuerung in manchen Bereichen nah an dem Ergebnis der Maus.
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.
Diese Arbeit zeigt die Verwendung einer lokalen Linespace Datenstruktur, welche auf Basis eines bestehenden GPU-basierten Raytracers mit globa- ler Linespace Datenstruktur konzipiert und implementiert wird. Für jedes Szenenobjekt wird ein N-Tree generiert, dessen Knoten jeweils einen Line- space besitzen. Dieser speichert in seinen SchäftenInformationen über exis- tierende Geometrie. Ein Schaft stellt ein Volumen zwischen zwei Flächen auf der Knotenaußenseite dar. Dies ermöglicht bei der Strahlverfolgung ein schnelleres Überspringen leerer Räume. Identische Objekte können auf bereits berechnete Linespaces zurückgreifen, wodurch der Speicherbedarf um bis zu 94,13% und die Initialisierungszeit der Datenstruktur um bis zu 97,15% vermindert werden kann. Aufgrund der lokalen Zugriffsmöglich- keiten könnendynamische Szenen visualisiertwerden. Dabei ist ebenso ein Anstieg der Qualität zu beobachten.
Diese Arbeit stellt den Faltungshall vor, ein Verfahren, das es ermöglicht, in neutral klingenden Räumen aufgenommenes Audiomaterial mit realistisch klingendem Nachhall zu versehen. Dabei wird vor allem auf die Möglichkeit eingegangen, den Effekt auf einer GPU mit Hilfe von OpenCL zu berechnen, um die hohe Parallelisierbarkeit des Problems zu seiner Lösung zu nutzen. Ziel ist es, ein VST-Plugin entwickeln zu können, das den GPU-beschleunigten Faltungsalgorithmus in verschiedener Audiosoftware nutzbar macht.
Diese Arbeit präsentiert einen Ansatz zur Optimierung der Berechnung von Halbschatten flächiger Lichtquellen. Die Lichtquelle wird durch Sampling uniform abgetastet. Als Datenstruktur wird ein N-tree verwendet, durch den die Strahlen als Paket traversiert werden. Der N-tree speichert in seinen Knoten einen Linespace, der Informationen über Geometrie innerhalb eines Schaftes bietet. Diese Sichtbarkeitsinformation wird als Kriterium für eine Terminierung eines Strahles genutzt. Zusätzlich wird die Grafikkarte (kurz GPU – engl. „graphics processing unit“) zur Beschleunigung durch Parallelisierung benutzt. Die Szene wird zunächst mit OpenGL gerendert und anschließend der Schattenwert für jedes Pixel auf der GPU berechnet. Im Anschluss werden die CPU- und GPU-Implementationen verglichen. Dabei zeigt die GPU-Implementation eine Beschleunigung von 86% gegenüber der CPU-Implementation und bietet eine gute Skalierung mit zunehmender Dreieckszahl. Die Verwendung des Linespace beschleunigt das Verfahren gegenüber der Durchführung von Schnitttests und zeigt für eine große Anzahl an Strahlen keine visuellen Nachteile.
Volumetrische Beleuchtung
(2018)
Volumetrische Beleuchtung ist ein verbreitetes Beleuchtungsphänomen in der Natur und trägt in weiten Teilen zu dem realistischen Erscheinen von computergenerierten Bildern bei. Diese Arbeit befasst sich mit den physikalischen Hintergründen dieses Phänomens, listet bekannte Modelle zur Visualisierung von volumetrischer Beleuchtung in der Computergrafik auf und vergleicht anschließend drei Verfahren, mit denen eine volumetrische Beleuchtung mit heutiger Grafikhardware visualisiert werden kann. Diese Verfahren werden anhand einer Implementation in OpenGL hinsichlich ihrer Möglichkeiten und Einschränkungen, sowie ihres Rechenaufwands miteinander verglichen.
Wie beeinflussen spieletechnische Eigenschaften eines Videospiels den Spielspaß? Diese Arbeit wird eine Antwort auf diese Frage suchen, indem sie ein selbst programmiertes Videospiel dafür nutzt, welches von Grund auf dafür erstellt wird. Das Videospiel wird in zwei Varianten programmiert, welche sich nur in seinen spieletechnischen Eigenschaften unterscheidet. Verschiedene Probanden werden das Videospiel dann spielen und im Nachhinein eine Umfrage diesbezüglich beantworten. Um möglichst fehlerfreie Umfragewerte zu bekommen, die lediglich Werteänderungen durch Änderung der spieletechnischen Eigenschaften aufzeigt, wurden gründliche Überlegungen zum Game Design und zum Spielkonzept gemacht. Die Ergebnisse vermuten, dass die spieletechnischen Eigenschaften eines Videospiels einen sehr großen Einfluss auf den Spielspaß haben. Jedoch sind diese Eigenschaften nicht allein dafür verantwortlich, warum ein Videospiel Spaß machen kann. Psychologische Aspekte sind auch bei Änderungen von spieletechnischen Eigenschaften zu beachten.
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.
Das Thema dieser Arbeit ist die Entwicklung einer hardwarebeschleunigten Einzelbildkompression zur Videoübertragung. Verfahren zur Einzelbildkompressionrn existieren bereits seit längerer Zeit. Jedoch genügen die gängigen Verfahren nicht den Anforderungen der Echtzeit und Performanz, um während einer Videoübertragung ohne spürbare Latenz zum Einsatz zu kommen. In dieser Arbeit soll einer der geläufigsten Algorithmen zur Bildkompression auf Parallelisierbarkeit, unter zu Hilfenahme der Grafikkarte, untersucht werden, um Echtzeitfähigkeit während der Kompression und Dekompression von computergenerierten Bildern zu erreichen. Die Ergebnisse werden evaluiert und in den Rahmen aktueller Verfahren parallelisierter Kompressionstechniken eingeordnet.
Diese Arbeit behandelt die Konzeption und Implementation eines Action-Rollenspiels mithilfe der Game Engine Unity. Im Rahmen einer Evaluation sollte das Spiel hinsichtlich der Bedienbarkeit der integrierten Steuerungsarten, der visuellen Überzeugung der Animationen und der Benutzerfreundlichkeit über zur Verfügung gestellte Hilfsmittel und Visualisierungen bewertet werden. Zusätzlich sollten Schwachstellen und Probleme im Spiel über offenes Feedback herausgefunden werden. Die Auswertung der Evaluation ergab, dass das Spiel im Hinblick auf die Bedienbarkeit und Benutzerfreundlichkeit zwar noch ausbaufähig ist, aber insgesamt einen guten Eindruck bei den Probanden hinterlassen hat.
In dieser Arbeit wird eine interaktive Applikation für das Android OS entwickelt. Bei der Applikation handelt es sich um ein Virtual-Reality-Spiel. Das Spiel gehört zum Ego-Shooter-Genre und spielt in einem Weltraumszenario. Durch den Einsatz eines Stereo-Renderers ist es möglich, das Spiel in Kombination mit einer Virtual-Reality-Brille zu spielen.
In dieser Bachelorarbeit geht es um den Einsatz des Wii Balance Boards
in -Realität-Anwendungen. Als Anwendungsbeispiel wird ein Snowboard
Spiel implementiert, in dem der virtuelle Avatar mit den Drucksensoren
des Wii Balance Board gesteuert werden kann. Der Anwender soll mit seiner
Körperbalancierung, spielerisch und intuitiv in der virtuellen Umgebung
manövrieren. Es werden die Immersion und der Einfluss auf Motion-
Sickness beziehungsweise Cybersickness erforscht. Außerdem wird dasWii
Balance Board mit dem Xbox Controller verglichen was die Steuerung betrifft.
Ziel der Arbeit ist es zu evaluieren, ob das Wii Balance Board in
der Lage ist, freies Bewegen in der virtuellen Umgebung zu ermöglichen.
Außerdem soll untersucht werden, welcher der beiden Geräte vorteilhafter
ist. Die Umfrageergebnisse laufen darauf hinaus, dass das Wii Balance
Board einen wesentlich positiveren Einfluss auf die Immersion hat, als der
Controller, trotz der besseren Spielergebnisse. Außerdem hat die Untersuchung
ergeben, dass die Verwendung des Wii Balance Board viel häufiger
für Motion-Sickness und Cybersickness Fälle verantwortlich ist.
Diese Bachelorarbeit beschäftigt sich mit dem Entwurf und der Implementation einer virtuellen Realitätserfahrung. Ziel ist es, zwei Fragen zu beantworten: Ist es möglich, eine immersive virtuelle Anwendung zu erschaffen, die hauptsächlich Impulse und Trigger benutzt, um Angst und Schrecken bei den Benutzern zu erzeugen? Zweitens, ist diese Immersion ausreichend, die Benutzer so zu illusionieren, dass sie die virtuelle Welt für die Reale halten. Zur Erschaffung dieser Erfahrung wurde die Programmierumgebung Unity3D sowie Visual Studios 2017 verwendet. Um festzustellen, ob diese VR-Anwendung tatsächlich immersiv für den Anwender ist, wurde ein Experiment mit sieben Probanden durchgeführt. Nach der Spieltestung wurden die Probanden zu Ihren Erfahrungen mittels eines Fragebogens befragt. Es konnte dadruch gezeigt werden, dass diese Anwendungen Tendenzen zur Immersion aufweisen. Jedoch waren sich die Benutzer der Situation, in der sie sich befanden, stets bewusst. Daraus lässt sich schlussfolgern, dass die Immersion nicht stark genug war, um die Probanden bezüglich der virtuellen und realen Welt zu täuschen.
Die folgende Arbeit analysiert die Funktionsweise und Programmiermöglichkeiten von Compute Shadern. Dafür wird zunächst in Kapitel 2 eine Einführung in Compute Shader gegeben, in der gezeigt wird, wie diese funktionieren und wie sie programmiert werden können. Zusätzlich wird das Zusammenspiel von Compute Shadern und OpenGL 4.3 anhand zweier einführender Beispiele gezeigt. Kapitel 3 beschreibt dann eine N-Körper Simulation, welche implementiert wurde um die Rechenleistung von Compute Shadern und den Einsatz von gemeinsamen Speicher zu zeigen. Danach wird in Kapitel 4 gezeigt, inwiefern sich Compute Shader für physikalische Simulationen eignen und wo Probleme auftauchen können. In Kapitel 5 wird ein eigens konzipierter und entwickelter Algorithmus zur Erkennung von Linien in Bildern beschrieben und anschließend mit der Hough Transformation verglichen. Zuletzt wird in Kapitel 6 ein abschließendes Fazit gezogen.
The development of a game engine is considered a non-trivial problem. [3] The architecture of such simulation software must be able to manage large amounts of simulation objects in real-time while dealing with “crosscutting concerns” [3,p. 36] between subsystems. The use of object oriented paradigms to model simulation objects in class hierarchies has been reported as incompatible with constantly changing demands during game development [2, p. 9], resulting in anti-patterns and eventual, messy refactoring.[13]
Alternative architectures using data oriented paradigms revolving around object composition and aggregation have been proposed as a result. [13, 9, 1, 11]
This thesis describes the development of such an architecture with the explicit goals to be simple, inherently compatible with data oriented design, and to make reasoning about performance characteristics possible. Concepts are formally defined to help analyze the problem and evaluate results. A functional implementation of the architecture is presented together with use cases common to simulation software.
Simulation von Schnee
(2019)
Mit Hilfe von Physiksimulationen lassen sich viele
Naturphänomene auf dem Rechner nachbilden. Ziel ist, eine physikalische
Gegebenheit möglichst korrekt zu berechnen, um daraus Schlüsse für die
reale Welt zu ziehen. Anwendungsgebiete sind beispielsweise die Medizin,
die Industrie, aber auch Spiele oder Filme.
Schnee ist aufgrund seines physikalischen Aufbaus und seinen Eigenschaften
ein sehr komplexes Naturphänomen. Um Schnee zu simulieren, müssen
verschiedene Materialeigenschaften beachtet werden.
Die wichtigste Methode, die sich mit der Simulation von Schnee und seiner
Dynamik befasst, ist die Material-Point-Method. In ihr werden die auf
der Kontinuumsmechanik basierenden Lagrange-Partikel mit einem kartesischen
Gitter vereint. Das Gitter ermöglicht die Kommunikation zwischen
den eigentlich nicht verbunden Schneepartikeln. Zur Berechnung werden
Daten der Partikel auf die Gitterknoten übertragen. Dort werden Berechnungen
mit Informationen über benachbarte Partikel durchgeführt. Die Ergebnisse
werden danach zurück auf die Partikel übertragen.
Durch GPGPU-Techniken lassen sich physikalische Simulationen auf der
Grafikkarte implementieren. Verfahren wie die Material-Point-Method lassen
sich durch diese Techniken gut parallelisieren.
Diese Arbeit geht auf die physikalischen Grundlagen der Material-Point-
Method ein, und implementiert diese mit Hilfe von Compute-Shadern auf
der Grafikkarte. Anschließend werden Performanz und Qualität bewertet.
Das fotorealistische Rendering von Fell ist ein oft gesehenes Problem in der Computergrafik und wird besonders bei Animationsfilmen häufig gebraucht. In dieser Arbeit werden zwei Beleuchtungsmodelle, ursprünglich zum Rendern von menschlichen Haaren, vorgestellt. Dies ist zum einen das Modell von Marschner et al. aus dem Jahr 2003, welches als Grundlage für viele neuere Modelle gilt, sowie das Modell von d’Eon et al. aus dem Jahr 2011. Beide Modelle werden innerhalb eines Pathtracers, welcher globale Beleuchtung simuliert, implementiert. Es werden die Besonderheiten von Haar-Fasern aus Fell im Gegensatz zu menschlichen Haar-Fasern aufgezeigt und folglich erläutert, warum die präsentierten Modelle auch für viele Fellarten genutzt werden können. Dabei liegt der Fokus auf einer realistischen visuellen Darstellung. Zusätzlich wird die Performance beider Modelle verglichen und Verbesserungsvorschläge durch die Nutzung von zylinder förmigen Schnittpunktobjekten für den Pathtracer gegeben und anhand der Implementation evaluiert.
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.
In dieser Bachelorarbeit wird ein System zur Kameratracking implementiert, dass auf Basis eines Partikelfilters arbeitet. Dazu wird ein Markertracking realisiert und anhand der Markerposition die Kameraposition errechnet. Der Marker soll mit ein Partikelfilter gefunden werden und um das zu bewerkstelligen werden mögliche Markerpositionen simuliert, auch Partikel genannt, und mit Likelyhood Funktionen gewichtet. Fokus liegt auf der Evaluation von verschiedenen Likelyhood-Funktionen des Partikelfilters. Die Likelyhood-Funktionen wurden in CUDA umgesetzt als Teil der Implementation.
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.