Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Reimund Neiss Geändert vor über 10 Jahren
1
Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung
Manfred Thaller WS 2011/2012 Stereo-3D-Grafik Linda Scholz
2
Räumliches Sehen Beide Augen suggerieren räumliche Tiefe
Gehirn verarbeitet zwei Bilder aus verschiedenen Blickwinkeln Durch Verschiebung beider Bilder wird die Tiefe berechnet
3
Tiefenschärfe Vermittelt Realismus
Schärfe und Unschärfe setzen den Blickpunkt Größe von Objekten lässt Entfernung von Objekten anmuten
5
Stereo-3D-Grafik Darstellung von Bildern aus zwei Perspektiven
Überlagerung der beiden Anisichten Größere Verschiebung = Entfernung zum Betrachter
7
Stereo-3D-Grafik Soll das menschliche Auge täuschen
Dreidimensionalität von Objekten wird vorgetäuscht
9
Stereo-3D-Grafik 2 Bilder müssen gerendert werden
Jedes Auge darf nur das jeweilige Bild sehen VR-Helme 3D-Shutter-Brillen 3D-Kino-Lösung Rot-Blau/Rot-Grün Stereografie
10
VR-Helme Virtual Reality
Anstelle der Gläser zwei Displays, die separat angesteuert werden Vorteil: sehr gute Qualität Nachteil: Grafikkarte muss Helm unterstützen und jeden Frame doppelt rendern Hohe Kosten
11
3D-Shutter-Brillen Augen werden abwechselnd verdunkelt
Monitor zeigt abwechselnd die Sicht von links und rechts Vorteil: günstige Lösung und gute Bildtrennung Nachteil: Grafikkarte muss Brille unterstützen 50% Helligkeit geht verloren Bildwiederholungsfrequenz muss verdoppelt werden
12
3D-Kino-Lösung Zwei Projektoren strahlen den Film einmal aus linker Sicht und einmal aus rechter an die Wand Licht der Projektoren unterscheidet sich durch Polarisation Filter in den 3D-Brillen lassen jeweils nur einen Licht-typ durch Technik lässt sich für Computerspiele kaum verwenden Zwei LCD-Projektoren vor die man je einen Polarisationsfilter stellt
13
Rolt-Blau/Rot-Grün Ein Bild arbeitet mit rotem Licht eines mit blauem oder grünem Bilder werden abwechselnd von links und rechts gezeigt Flackern entsteht Im Bild werden Rot und Blau/Grün kombiniert
14
3D-Kino-Lösung Vorteil Nachteil Kostengünstig
Funktioniert auf fast allen Grafikkarten Einfach zu implementieren Nachteil Eine Farbe geht komplett verloren
15
Stereografie Auf den ersten Blick undeutliches Bild
Durch Verstellung der Augen wird 3D Objekt erkennbar Tiefe der Pixel sind von Bedeutung um ein stereografisches Bild zu berechnen Stereografische Bilder in Echtzeit durch Zugriff auf den Bildpuffer Farbe des Pixels von seiner Tiefe abhängig machen (Pixel-Shader)
17
Implementierung Renderstate D3DRS_COLORWRITEENABLE
Farbkanäle beim Rendern kontrollieren, dass nur roter und grüner Farbkanal geschrieben wird D3DCOLORWRITEENABLE_RED D3DCOLORWRITEENABLE_GREEN
18
Implementierung Szene beginnen & Puffer leeren
D3DRS_COLORWRITEENABLE auf D3DCOLORWRITEENABLE_RED setzen Szene von links rendern (Kamera entlang der X-Achse verschieben) Z- und Stencil-Buffer leeren – nicht Bildpuffer D3DRS_COLORWRITEENABLE auf D3DCOLORWRITEENABLE_BLUE setzen Szene von rechts rendern Szene beenden & Bildpuffer sichtbar machen
19
Blickpunkt der Kamera Bei Stereo-3D-Grafik sollte sich der Blickpunkt der Kamera bei dem Objekt befinden, das in der Bildmitte zu sehen ist.
20
Galactica Game.cpp #include "Galactica.h"
// Folgendes #define schaltet den 3D-Brillen- Modus ein: // #define _3D_GLASSES_
21
CGAME::Render #ifdef _3D_GLASSES_
D3D->Clear(0, NULL, D3DCLEAR_TARGET, tbColor(0.0f), 1.0f, 0); for(int i = 0; i < 2; i++) { D3D->Clear(0, NULL, D3DCLEAR_ZBUFFER, tbColor(0.0f), 1.0f, 0); D3D->BeginScene(); if(i == 0) D3D.SetRS(D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_BLUE); else D3D.SetRS(D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_RED); // Kamera setzen SetupCamera();
22
CGAME::SetupCamera #ifdef _3D_GLASSES_ static DWORD dwFrame;
if(dwFrame % 2) m_vCameraPos -= tbVector3Cross(tbVector3Normalize(m_vCameraLookAt - m_vCameraPos), m_vCameraUp) * 0.01f; else m_vCameraPos += tbVector3Cross(tbVector3Normalize(m_vCameraLookAt - m_vCameraPos), m_vCameraUp) * 0.01f; #endif
23
Vielen Dank Schöne Ferien
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.