55
(5) (Stereo-)Rendering (5) (Stereo )Rendering Vorlesung Vorlesung „Virtuelle Realität und A t dR lit “ Augmented RealityS. Müller Dank an Dirk Reiners Sina Konz Dank an Dirk Reiners, Sina Konz, Gabriel Zachmann, Andreas Simon U N I V E R S I T Ä T KOBLENZ · LANDAU

(5) (Stereo(5) (Stereo-)Renderingcg/ws0910/VRAR/05_rendering.pdf · Toe-In MethodeIn Methode Zwei syygp gmmetrische Frusta mit gluPerspective mit identischem Öffnungswinkel Hauptsehstrahlen

  • Upload
    votram

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

(5) (Stereo-)Rendering(5) (Stereo )Rendering

VorlesungVorlesung„Virtuelle Realität und

A t d R lit “Augmented Reality“S. Müller

Dank an Dirk Reiners Sina KonzDank an Dirk Reiners, Sina Konz, Gabriel Zachmann, Andreas Simon

U N I V E R S I T Ä TKOBLENZ · LANDAU

Echtzeit Rendering?Echtzeit-Rendering?

Maximal so schnell wie das darstellende Gerät PAL 50 Hz ~ 20msNTSC 60 Hz ~ 16.6 msMonitor z.B. 80 Hz ~ 15 ms

Für fließende Bewegungen gilt: je schneller, je besser„60 Hertz, 30 hurts“,Ein Gefühl der Immersion stellt sich ab ca. 10 Hz bzw. 100 ms Latenz ein100 ms Latenz einBesonders kritisch bei der Verwendung eines HMD

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 2 -

LatenzLatenz

Zur reinen Renderingzeit kommen noch andere Verzögerungen dazu:

SensorÜbertragungAuswertung < 100 msAuswertung < 100 msSimulationRenderingDarstellung

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 3 -

Rendering PipelineRendering Pipeline

Polygon

Transformation Beleuchtung

Perspektive Clipping

Setup Pixelfüllen

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 4 -

BeschleunigungBeschleunigung

Für spezielle Aufgaben ist Custom-Hardware immer noch schneller als Universalprozessoren

PipeliningParallelisierung

Für bestimmte, einfach Aufgaben sehr schnellZ-Buffer (Speicher ist billig)Polygone (einfach weil linear)

Relativ inflexibelNur ein realisierter AlgorithmusNur für die eine Aufgabe brauchbar

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 5 -

PipeliningPipelining

Polygon

Transformation Beleuchtung

Perspektive Clipping

Setup Pixelfüllen

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 6 -

ParallelisierungParallelisierung2 vorne4 8 hi t

Polygon4-8 hinten(8 Texturen gleichzeitig)

Transformation Beleuchtung

Perspektive Clipping

Setup Pixelfüllen

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 7 -

ParallelisierungParallelisierungBeispiel:infinite Reality

DList cache: 300 MB/s4 Geometry Engines: 2 GFlops peak

Reality (1996)

11 M Dreiecke/s (40 pixel, depth-buffered, aa)1 4 Raster Managers: 80 320 Prozessoren á1-4 Raster Managers: 80-320 Prozessoren á 1 MB800 Mpixel/s (trilinear MipMap, depth-800 Mpixel/s (trilinear MipMap, depthbuffered)

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 8 -

Parallelisierung / PipeliningParallelisierung / Pipelining

Eine Pipeline ist nur so schnell wie das langsamste GliedJe nach Aufgabe verschiedene Bottlenecks (Lösung: Puffer zwischen den Pipelinestufen)Heute noch häufig Hauptproblem: Pixelfüllen

Hohe Auflösungen & FarbtiefengCPU / FP ist schnell gewordenSpeicher ist billig und langsam

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 9 -

Parallelisierung / PipeliningParallelisierung / Pipelining

Die (einfachen) Pipelinestufen können gestört werden durch:

TransformationswechselBeleuchtungswechselTexturwechsel

Solche Wechsel sind oberhalb der Rendering-Pipeline zu vermeidenD.h. vor der Weitergabe an die HW sollten Polygone sortiert werden

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 10 -

ArbeitsvermeidungArbeitsvermeidungStriping Besser als Arbeit schnell zu tun ist Arbeit

nicht zu tunEckpunkte können recycled werden durchEckpunkte können recycled werden durch zusammenhängende Polygone (Strips)

2 3 5 8 9 11 1 3 5

01 4 6 7 10

027 10 2 4

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 11 -

StripingStriping

4320 Polygone12960 Eckpunkte

905 Stripes6127 Eckpunkte

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 12 -

ArbeitsvermeidungArbeitsvermeidungLevel of Detail

Weit entfernte Objekte müssen nicht so genau gezeichnet werden

5031 Polygone 2447 Polygone 1251 Polygone

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 13 -

Level Of DetailLevel Of Detail

5031 Polygone 2447 Polygone 1251 Polygone

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 14 -

Level Of DetailLevel Of Detail

Verwendung verschieden feiner Versionen (vorberechnet oder zur Laufzeit)Probleme:

Automatische ErzeugungAuswahl (z.B. entfernungsgesteuert)Überblenden beim Umschalten

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 15 -

ArbeitsvermeidungArbeitsvermeidungPolygone die im fertigen Bild nicht auftauchen müssen auch nicht durch die Pipeline gejagt werdenwerdenWie kann man das schnell feststellen?

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 16 -

ArbeitsvermeidungArbeitsvermeidungView Frustum Culling

Schnelle Hardware kann Polygone schneller zeichnen als der Prozessor den Test machen kannkannNicht einzelne Polygone sondern ganze Objekte testenjKonservativer Test reicht

C

0

1C

Im Prinzip Cohen-Sutherland im 3D0

DA

2A

B

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 17 -

3

Hierarchisches View Frustum CullingHierarchisches View Frustum CullingBei großen Objektzahlen kann man die Anzahl der Tests durch eine Hierarchie minimierenminimierenKomplett unsichtbare Teilbäume werden ignoriert, komplett sichtbare nicht getestetg , p g

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 18 -

Völlig Verdeckte ObjekteVöllig Verdeckte ObjekteIn Szenen mit vielen Wänden sind oft Objekte im View Volume, aber trotzdem nicht sichtbarWie kann man das effizient testen?Wie kann man das effizient testen?

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 19 -

Völlig Verdeckte ObjekteVöllig Verdeckte ObjekteOcclusion CullingPreprocessed:

Di S i Z ll ft ilDie Szene in Zellen aufteilenListe der sichtbaren Objekte / Zelle aufbauenObjekte aus der Liste für die Zelle in der sichObjekte aus der Liste für die Zelle in der sich der Betrachter aufhält rendern

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 20 -

Erweiterte Rendering PipelineErweiterte Rendering-PipelineOcclusioncullingOcclusionculling

Objektculling Hierarchieculling

Zustandssortierung LOD Selektion

Polygon

Transformation Beleuchtunga s o at o e euc tu g

Perspektive Clipping

Setup Pixelfüllen

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 21 -

Erweiterte Rendering PipelineErweiterte Rendering-Pipeline

Jeder Teil der erweiterten Rendering Pipeline kann auch unabhängig bearbeitet werden (MP-Systeme)Für Spezialsysteme können sie auch in HW gegossen werden (z.B. Flugsimulatoren)Für allgemeine Systeme ist das Polygon eine brauchbare Übergangsstelleg g

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 22 -

QualitätQualitätTexturenSchatten

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 23 -

ShadingShadingGouraud Shading mit Eckpunktnormalen

G ü O f ä öGekrümmte Oberflächen können mit Polygonen nur angenähert werdenZur Beleuchtungsberechnung werden dieZur Beleuchtungsberechnung werden die explizit zu spezifizierenden Normalen mit einbezogen, die man auch pro Eckpunkt setzen kannMittels Interpolation kann aber die B l ht i ti b l diBeleuchtungsapproximation besser als die geometrische gemacht werden

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 24 -

Gouraud ShadingGouraud Shading

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 25 -

TransparenzenTransparenzenTransparenz kann durch Mischung der Objekt- und der schon vorhandenen Hintergrundfarbe angenähert werden:Hintergrundfarbe angenähert werden:

Fneu = Fobjekt*α + Falt * (1- α)Transparente Objekte müssen zum Schluß und von hinten nach vorne sortiert gerendert werdenwerden

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 26 -

TransparenzenTransparenzen

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 27 -

SoftwarerealisierungSoftwarerealisierungVerschiedene Applikationen – verschiedene AnforderungenFür viele Systeme bewährt: Szenengraph

AutoFür viele Systeme bewährt: SzenengraphGerichteter azyklischer GraphGeometrie in den BlätternGeometrie in den Blättern

Body Türen Rad

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 28 -

SzenengraphSzenengraphT Objektorientierte Struktur mit Knotenklassen

und TraversierungsmethodenErlaubt Attributvererbung von Eltern auf

Auto

Tr

Erlaubt Attributvererbung von Eltern auf KinderTransformation das sinnvollste Attribut

Tr TrTrTransformation das sinnvollste Attribut

Body Türen Rad

LOD 2 LOD 3LOD 1

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 29 -

Draw TreeDraw-Tree

Ablauf: Resultat der oberen Pipeline-Stufen ist ein eigener Baum (Draw Tree)Die Transformationen werden meist per CPU schon auf die Ecken angewendetEcken angewendetDer Baum wird bzgl. einer State-Change-Minimierung sortiert

• Texturen• Texturen• Shader• MaterialienMaterialien

Die Traversierung des Draw-Trees liefert dann die Polygone, die an die HW übergeben werden

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 30 -

Stereo RenderingStereo Rendering

U N I V E R S I T Ä TKOBLENZ · LANDAU

Physiologische GrundlagenPhysiologische Grundlagen

interokularer Abstand

Disparität der Bilder auf der Netzhaut:Netzhaut:-horizontal leicht verschoben -um die vertikale Achse rotiert

Bei stereoskopischen SystemenBei stereoskopischen Systemen wird dieser Effekt genutzt um einen Tiefeneffekt zu simulieren.

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 32 -

StereosystemeStereosystemeZeitmultiplexe Systeme / Aktive Stereosysteme:

Zeitlich versetzte Präsentation der Halbbilder für linkes und rechtes Auge.

Zeitparallele stereoskopische Systeme / Passive Stereosysteme:Simultane Präsentation der Halbbilder für linkes und rechtes Auge.

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 33 -

Stereo RenderingStereo Rendering

Parallaxewird am Bildschirm bzw. Display gemessen und bezieht sich auf die Diskrepanz zwischen der Abbildung eines Punktes für das linke und rechte Auge.

H i t l P llHorizontale Parallaxe:Positionen von Punkten die erscheinen als würden sie hinter der Projektionsebene liegen (also im Bildschirm) oder vor derProjektionsebene liegen (also im Bildschirm) oder vor der Projektionsebene (vor dem Bilschirm) befinden sich für das rechte und linke Auge anbefinden sich für das rechte und linke Auge an unterschiedlichen Stellen der Bildebene.Dieser Abstand wird als horizontale Parallaxe bezeichnet.

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 34 -

Horizontale ParallaxeHorizontale Parallaxe

Positive Parallaxe :Parallaxenwert > 0

Abgebildeter Punkt liegt hinter der ProjektionsebeneProjektion des Punktes für das linke Auge liegt links vom tatsächlichen Punkt, und für das rechte

Auge rechts vom tatsächlichen Punkt.

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 35 -

H i t l P llHorizontale ParallaxeNegative Parallaxe:Parallaxenwert < 0

Betrachteter Punkt liegt vor der ProjektionsebeneProjektion des Punktes für das linke Auge liegt weiter rechts als die Projektion für das rechte Auge

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 36 -

H i t l P llHorizontale ParallaxeNullparallaxe:Parallaxenwert = 0

Betrachteter Punkt liegt auf der Abbildungsebene

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 37 -

Vertikale ParallaxeVertikale ParallaxeVertikale Parallaxe:

Projektion der Punkte vertikal verschobenEntspricht einer Verschiebung aus der Bildebene heraus

Führt zu Problemen bei der Bilderkennung und einer unangenehmen Belastung derBildebene heraus

Trägt nicht zur Tiefeninformation bei

und einer unangenehmen Belastung der Augenmuskulatursollte bei Stereo Rendering vermieden werden

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 38 -

werden

Stereoskopisches RenderingStereoskopisches Rendering

a.) Modell der konvergierenden HauptsehstrahlenToe-In Methode

b ) Modell der parallelen Hauptsehstahlenb.) Modell der parallelen HauptsehstahlenOff-Axis Methode

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 39 -

Toe In MethodeToe-In MethodeZwei symmetrische Frusta mit gluPerspective mit identischem Öffnungswinkely g p g

Hauptsehstrahlen beider Augen treffen sich im fixierten Blickunkt.Dieses Modell modelliert also die Konvergenz der Augen.

Vertikale Parallaxe

Inkorrekte Methode“U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 40 -

„Inkorrekte Methode

Off Axis MethodeOff-Axis MethodeModell der parallelen Sehstrahlen:Modell der parallelen Sehstrahlen:arbeitet mit zwei fiktiven Blickpunkten die Augenabstand habenDiese liegen für das rechte bzw. linke Auge rechts bzw. links vom eigentlichen Blickpunkt. D di H h hl ll l l f i d di P j k i b fü b id ADa die Hauptsehstrahlen parallel verlaufen, sind die Projektionsebenen für beide Augen

identisch (d.h. nicht gegeneinander rotiert) woraus folgt das die vertikale Parallaxe hier nicht auftritt

Korrektes Modell für Stereo Rendering

Off-Axis Methode

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 41 -

Off Axis MethodeOff-Axis Methodebesteht demnach aus zwei parallelen Zentralprojektionen auf eine gemeinsame Projektionsebene. Die Zentren der Projektion stellen die beiden Augpunkte darDie Zentren der Projektion stellen die beiden Augpunkte dar.Hierzu benötigt man asymmetrische Kamera-Frusta der Befehl gluPespective( ) reicht also hier nicht mehr aus man benötigtgluPespective(...) reicht also hier nicht mehr aus, man benötigt glFrustum(…)

Berechnung der Parameter für das linke Auge:

w; h: Breite und Höhe des Bildschirms (frei wählbar)d: Abstand des Betrachters zur projection plane (frei wählbar (d>0))zn; zf: Abstand des Betrachters zur Z-near bzw. Z-far Ebene (frei wählbar, aber >0)

Projection Plane ist die Ebene der Zero-ParallaxejDie Bildebene ist nach wie vor bei z-near.

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 42 -

Off Axis MethodeRechnung korrekt, da Auge im Ursprung

Off-Axis MethodeBerechnung der Parameterfür das linke Auge: Das Kamera-Frustum

für das linke Auge befindet sich um o/2 nach links verschoben und die linke Seite besitztl ft und die linke Seite besitzt eine Breite von (w/2-o/2).

left

θ

Durch Projektion diesesPunktes auf die Z-Near-Punktes auf die Z NearEbene ergibt sich für left:

l ft ( /2 /2)* / dl f 22 left = -(w/2-o/2)*zn / d

dow

zleft

n

22tan −==θ

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 43 -

Off Axis MethodeOff-Axis MethodeBerechnung der Parameter für das linke AugeBerechnung der Parameter für das linke Auge

left = -(w/2-o/2)*zn / d(right analog zu left Verschiebung nach rechts: positiver Wert)(right analog zu left, Verschiebung nach rechts: positiver Wert)right = (w/2+o/2)*zn / d top = (h/2)*zn / dtop = (h/2) zn / dbottom=(-h/2)*zn / d

Berechnung der Parameter für das rechte Auge

left = (-w/2-o/2)*zn / d(right analog zu left, Verschiebung nach rechts: positiver Wert)right = (w/2-o/2)*zn / d top = (h/2)*zn / dbottom=(-h/2)*zn / d

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 44 -

Off Axis MethodeOff-Axis MethodeDi Üb b d P O GL f l iDie Übergabe der Parameter an OpenGL erfolgt mit:

// für linkes AugeglMatrixMode(GL_PROJECTION);glLoadIdentity();glFrustum( ( -w/2.0f + o/2.0f ) * znear / d,

( w/2.0f + o/2.0f ) * znear / d,-h / 2.0f * znear / d,h / 2.0f * znear / d,/ / ,

znear, zfar );

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 45 -

Off Axis MethodeOff-Axis MethodeIm nächsten Schritt muss vor dem Rendering der 3D-Szene noch die

Kamera definiert werden:

// für linkes AugeglMatrixMode(GL_MODELVIEW);glLoadIdentity(); // fromX: -o/2, fromY: 0; fromZ: d// atX: -o/2gluLookAt(-o/2, 0, d, -o/2, 0, 0, 0, 1, 0);

Analog führt man die Transformationen für das rechte Auge durchAnalog führt man die Transformationen für das rechte Auge durch.

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 46 -

Vorgehensweise Stereo Rendering

1. Initialisierung der GLUT Bibliothek:glutInit(int agrcp, int agrv) // Initialisierung von glutInit(int agrcp, int agrv) // Initialisierung von

// GLUT

2. Wählen eines stereoskopischen Pixelformats für das entsprechende Fenster, z.B. :glutInitDisplayMode(GLUT RGB | GLUT DOUBLE | GLUT STEREO)glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_STEREO)

GLUT_RGB : für ein Fenster mit RGB-ModusGLUT DOUBLE : für ein double buffered FensterGLUT_DOUBLE : für ein double buffered FensterGLUT_STEREO : für ein Stereo-Fenster

3 Erzeugen des Fensters:3. Erzeugen des Fensters:glutCreatewindow(fenstername);

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 47 -

Vorgehensweise Stereo Rendering

glClearColor( 0.0, 0.0, 0.0, 1.0 );glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

// Linkes Auge// Breite/Höhefloat w = 1.0f;float h = 0.5f;// Abstand des Betrachters zur Bildebenestatic float d = 1.0f;// interokular Abstandstatic float o = 0.02f;float znear = 0.1f;float zfar = 200.0f;

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 48 -

Vorgehensweise Stereo Rendering// li k A// linkes Auge

glDrawBuffer(GL_BACK_LEFT);glMatrixMode(GL_PROJECTION);glLoadIdentity();g yglFrustum( ( -w/2.0f + o/2.0f ) * znear / d,

( w/2.0f + o/2.0f ) * znear / d,-h / 2.0f * znear / d,h / 2 0f * znear / dh / 2.0f * znear / d,znear, zfar );

glMatrixMode( GL_MODELVIEW );glLoadIdentity();gluLookAt(-o/2, 0, d, -o/2, 0, 0, 0, 1, 0);renderScene();

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 49 -

V h i St R d iVorgehensweise Stereo Rendering

// rechtes AugeglClear( GL_DEPTH_BUFFER_BIT );

glDrawBuffer(GL_BACK_RIGHT);glMatrixMode(GL_PROJECTION);glLoadIdentity();l ( ( /2 0f /2 0f ) * / dglFrustum( ( -w/2.0f - o/2.0f ) * znear / d,

( w/2.0f - o/2.0f ) * znear / d,-h / 2.0f * znear / d,h / 2.0f * znear / d,,znear, zfar );

glMatrixMode( GL_MODELVIEW );glLoadIdentity();

gl LookAt(o/2 0 d o/2 0 0 0 1 0)gluLookAt(o/2, 0, d, o/2, 0, 0, 0, 1, 0);renderScene();

glFlush(); // ausführen der Befehle

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 50 -

SteuerungSteuerung

Als Eingabeparameter dienen also:Augabstand (kann man messen)z-nearund der Abstand zur Zero-Parallaxe (frei wählbar)

Durch letzteren steuert man die ParallaxeVorsichtig wählen! Sonst Hyperstereoeffekt („die g yp (Augen werden auseinander gezogen…“) oder Stereoeffekt bricht zusammen

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 51 -

Stereo Violation

Widersprechende Depth-CuesWidersprechende Depth CuesTritt nur an den seitlichen Rändern auf (nicht oben/unten)auf (nicht oben/unten)

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 52 -

Depth aliasingp g2

2

2

Stereoscopic voxel

2

2

2

2

2

Zahl gibt Parallaxe anEff kt 2 P kt l i h Ti f kö h hi d P ll

2

Effekt: 2 Punkte gleicher Tiefe können sehr verschiedene Parallaxe produzieren, und Punkte verschiedener Tiefe die gleiche Parallaxe!

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 53 -

Stereo RenderingStereo Rendering

Zu beachten (Konz):1. Maximale Trennung der Bilder = 5% des Abstands zur Bildebene

2. Die negative Parallaxe sollte betragsmäßig nicht den interokularen Abstand üb h iüberschreiten

3. Für alle Punkte der Szene sollte der Parallax Winkel nicht den Wert von 1,5 Grad überschreiten

Zu beachten (Zachmann):1. Parallaxe nicht zu groß!

±1.6° ~ Parallaxe ≤ 0.03 · Entfernung Proj.wand2. Einzelnes Objekt lege ZPP durch dessen Mittelpunkt3. Ganze Szene 1/3 negative Parallaxe, 2/3 positive Parallaxe4. Halte Objekte mit negativer Parallaxe möglichst in der Mitte

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 54 -

Stereo is "one man show"Stereo is "one man show"Warum stimmt ein gerendertes Stereo-Bild nur für 1Warum stimmt ein gerendertes Stereo Bild nur für 1 Standpunkt?

che

ektio

nsflä

Proj

e

U N I V E R S I T Ä TKOBLENZ · LANDAU S. Müller - 55 -