Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gerlach Kaste Geändert vor über 10 Jahren
1
PictureRubber Stefan Benischke, Eric Jahn, Erik Müller 26.01.2011
Spezielle Kapitel Grafische Datenverarbeitung Erfurt University of Applied Sciences Wintersemester 2010/2011 1 1 1
2
Gliederung Demonstration Aufgabenverteilung Spielprinzip / Einsatz
Technische Herausforderungen Kinect Performance der Bildermanipulation Dynamische Integration von Bildern / Videos 2 2 2
3
1. Demonstration 3 3 3
4
2. Aufgabenverteilung Stefan Benischke
Kinect-Integration CLNUI-Framework Dynamischen Content-Import Menü / Programmlogik Eric Jahn Shaderimplementation und –integration Gestenhandling Erik Müller Kinect-Integration OpenNI & NITE Gestenerkennung Texturing 4 4 4
5
3. Spielprinzip / Einsatz
durch Interaktionen mit der Hand können Bilder/Bildbereiche wegradiert werden Einsatz: interaktive Touren durch Gebäude Entwicklung eines Objektes darstellen Bilderspiele 5 5 5
6
4.1. Technische Herausforderungen I
Problem: versch. SDK-, API- und Treiberversionen für Kinect Code Laboratories: CL NUI Plattform gute Treiberunterstützung (Motor, Tiefenbild, Ton) schlechte Unterstützung durch das Framework OpenNI Plattform und SDK zur Ansteuerung verschiedener Sensoren C# Wrapper OpenNI.net NITE PrimeSense Dienstschicht für OpenNI C# Wrapper ManagedNite (kompiliert für XNA 3.1) 6 6 6
7
4.1. Technische Herausforderungen II
7 7 7
8
4.1. Technische Herausforderungen III
Lösung: Trial & Error verschiedener Treiberversionen und SDKs Zusammenspiel aus: OpenNI (unstable) Modified Kinect Sensor Plugin PrimeSense NITE Stable Zugriff auf Sensordaten sowie Funktionen des NITE-Frameworks (z.B. Hand- und Gestenerkennung) Glätten der Handbewegung durch Mittelwertberechnung Weitere Stabilisierung durch Anpassung der PointDenoiser- Distanzen 8 8 8
9
4.2. Technische Herausforderungen I
Performance der Bildermanipulation: Anspruch möglichst Echtzeit Möglichkeiten: Get/Set-Pixel Byte-Operationen Shader 9 9 9
10
4.2. Technische Herausforderungen II
Get/Set-Pixel Array-Operation zu langsam Byte-Operationen schneller als Get/Set-Pixel allerdings für jedes Bild ein Byte-Array viele for-Schleifen und Vergleiche Shader sehr schnell wenig Code Verfahren: Render To Texture 10 10 10
11
4.2. Technische Herausforderungen III
Entscheidung für Umsetzung mittels Shader sehr performant und Echtzeit Shader 1: erfassen der Mouseposition bei jedem Update daraus wird Texturvorlage generiert Shader 2: löschen der Texturbereiche anhand der Vorlage 11 11 11
12
4.2. Technische Herausforderungen IV
Probleme bei Shader-Umsetzung: Umrechnung der Mauskoordinaten auf Fensterkoordinaten Löschen der RenderTargets nach Änderungen am Fenster Anlegen einer Kopie mithilfe von GetData()und SetData() Zustandsänderungen im Shader nicht feststellbar jede Textur muss überprüft werden, ob der betroffene Bereich gelöscht werden kann 12 12 12
13
4.3. Technische Herausforderungen I
Dynamische Integration der Bilddaten Normalerweise: Integration sämtlicher verwendeter Bilder über Content Importer bzw. ContentProject Ansatz: Bilder dynamisch zur Laufzeit aus Ordner einlesen Lösung: Texture2D.FromStream() 13 13 13
14
4.3. Technische Herausforderungen II
Dynamische Integration der Videodaten Normalerweise: Integration sämtlicher verwendeter Videos über Content Importer bzw. ContentProject Ansatz: Ähnlich wie bei der Bildintegration Lösung: ausstehend statische Integration umgesetzt Probleme: aus Performancegründen nicht integriert 14 14 14
15
Ausblick Mehrbenutzerunterstützung Radieren auf Videos
Kinect-Ansteuerung verbessern Motoransteuerung Mikrofonunterstützung
16
Fragen
17
Vielen Dank für Ihre Aufmerksamkeit
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.