Docstoc

Vorlesung 1 Grundlagen der Visua

Document Sample
Vorlesung 1 Grundlagen der Visua Powered By Docstoc
					                                   Szenengraphen

                            Uwe Wössner
                       HLRS, Universität Stuttgart




                                      Uwe Wössner
1   Visualisierung technisch wissenschaftlicher Daten
Datenstrukturen zur Beschreibung von graphischen Objekten




                                        Uwe Wössner
  2   Visualisierung technisch wissenschaftlicher Daten
Definition eines Szenengraphen

•       Ein Szenegraph ist eine Baumartige Datenstruktur zur
        Speicherung, Organisation und zum Render von
        Szeneninformationen wie Objekte, Materialien,
        Erscheinungsbildern, Lichtern usw.
•       Die Datenstruktur eines Szenengraphen besteht aus Knoten,
        Gruppenknoten und Blattknoten.
•       Diese Knoten formen einen azyklischen gerichteten
        Graphen.
•       In vielen Szenengraphen können Knoten mehrfach
        verwendet werden
•       Knoteneigenschaften werden entweder nach unten oder
        horizontal vererbt.



                                            Uwe Wössner
    3     Visualisierung technisch wissenschaftlicher Daten
Szenengraphen


     Gruppierung/Transformation




         Geometrie



                                         Uwe Wössner
 4     Visualisierung technisch wissenschaftlicher Daten
Traversierung eines Szenegraphen
                                                          •   PushMatrix
                                                          •   Transformation
                                                          •   PushMatrix
                                                          •   Transformation
                                                          •   Material
                                                          •   glBegin() … glEnd()
                                                          •   PopMatrix
                                                          •   PushMatrix
                                                          •   Transformation
                                                          •   Material
                                                          •   glBegin() … glEnd()
                                                          •   PopMatrix
                                                          •   PopMatrix
     Im Allgemeinen Depht-first                           •   PushMatrix
                                                          •   Transformation
                                                          •   Material
                                                          •   glBegin() … glEnd()
                                                          •   PopMatrix


                                        Uwe Wössner
 5    Visualisierung technisch wissenschaftlicher Daten
Das Leben und Sterben von Szenegraphen




                                       Uwe Wössner
 6   Visualisierung technisch wissenschaftlicher Daten
Wichtigste Knoten im Szenengraph



                             Leaf                                    Group

         Geometrie                                       Gruppen

         Licht                                           Transformationen

         Background                                      Switch

         Sound                                           LOD

                                                         Billboard




                                       Uwe Wössner
 7   Visualisierung technisch wissenschaftlicher Daten
VRML97 Nodes
6.1 Introduction                     6.20 FontStyle                 6.38 ProximitySensor
6.2 Anchor                           6.21 Group                     6.39 ScalarInterpolator
6.3 Appearance                       6.22 ImageTexture              6.40 Script
6.4 AudioClip                        6.23 IndexedFaceSet            6.41 Shape
6.5 Background                       6.24 IndexedLineSet            6.42 Sound
6.6 Billboard                        6.25 Inline                    6.43 Sphere
6.7 Box                              6.26 LOD                       6.44 SphereSensor
6.8 Collision                        6.27 Material                  6.45 SpotLight
6.9 Color                            6.28 MovieTexture              6.46 Switch
6.10 ColorInterpolator               6.29 NavigationInfo            6.47 Text
6.11 Cone                            6.30 Normal                    6.48 TextureCoordinate
6.12 Coordinate                      6.31 NormalInterpolator        6.49 TextureTransform
6.13 CoordinateInterpolator          6.32 OrientationInterpolator   6.50 TimeSensor
6.14 Cylinder                        6.33 PixelTexture              6.51 TouchSensor
6.15 CylinderSensor                  6.34 PlaneSensor               6.52 Transform
6.16 DirectionalLight                6.35 PointLight                6.53 Viewpoint
6.17 ElevationGrid                   6.36 PointSet                  6.54 VisibilitySensor
6.18 Extrusion                       6.37 PositionInterpolato       6.55 WorldInfo
6.19 Fog




                                        Uwe Wössner
 8    Visualisierung technisch wissenschaftlicher Daten
Attribute

•       Material
•       Texturparameter
•       Fog
•       Drawmasks
•       Vertexshader
•       Fragmentshader
•       Beleuchtungsparameter
•       Normalennormierung




                                            Uwe Wössner
    9     Visualisierung technisch wissenschaftlicher Daten
Attribute in Inventor

•        Attribute werden als Knoten im Szenegraph dargestellt
•        Attribute können wie alle anderen Knoten mehrfach im
         Szenegraph eingehängt werden.




                                             Uwe Wössner
    10     Visualisierung technisch wissenschaftlicher Daten
Horizontale Vererbung



                           G
                           T M G                               L   S
                                                        T      S
•        Attribute wirken auf alle Knoten rechts und nach unten im
         Baum.




                                             Uwe Wössner
    11     Visualisierung technisch wissenschaftlicher Daten
Attribute in Performer

•        Attribute als „GeoState“ nur an der Geometrie
•        GeoStates können mehrfach verwendet werden
•        Ein globaler GeoState, der die Standardwerte vorgibt
                                 A




                  A
                         A A                     A             A   A


                                             Uwe Wössner
    12     Visualisierung technisch wissenschaftlicher Daten
Attribute in OpenSG und OpenSceneGraph

•        Attribute als „StateChunk“ (OpenSG) bzw. „StateSet“
         (OpenSceneGraph) können zu jedem Knoten hinzugefügr
         werden
•        Attribute werden vertikal vererbt. Kinder erben die Attribute
         ihrer Eltern. Horizontal, innerhalb einer Gruppe wird nicht
         vererbt.
                     A


            A
                                                                A



                                 A                A                 A




                                              Uwe Wössner
    13      Visualisierung technisch wissenschaftlicher Daten
Kameras

•        Die Projektionsparameter werden in manchen
         Szenengraphen (VRML, Inventor) als Kamera-Knoten
         repräsentiert.
          – Vorteil: Kameras können wie Geometrieknoten
             transformiert werden
          – Nachteil: Kameras müssen getrennt behandelt werden
•        In Performer , OpenSG und OpenSceneGraph werden die
         Projektionsparameter parallel zum Szenengraphen verwaltet.
•        In OpenSG kann die Kameraposition durch einen Proxy-
         Knoten im Szenengraph modifiziert werden.




                                             Uwe Wössner
    14     Visualisierung technisch wissenschaftlicher Daten
Field/Routen Konzept

•        Bei einigen Szenengraphen (z.B. Inventor, VRML, OpenSG)
         werden sämtliche Parameter der Knoten in einheitlichen
         Feldern gespeichert.
•        Dadurch kann der Szenengraph einfach serialisiert werden.
•        Routen werden eingesetzt um Parameter von einem zum
         anderen Knoten zu leiten.
•        Mit Hilfe von Animationsknoten, Sensoren und Skriptknoten
         kann dadurch auch Funktionalität im Szenengraph
         dargestellt werden.




                                             Uwe Wössner
    15     Visualisierung technisch wissenschaftlicher Daten
Optimierungsmöglichkeiten mit Szenengraphen

•        View frustum culling
•        Visibility culling
•        LOD
•        Imposters
•        State sorting
•        Geometrie konvertierung
•        Display-List Generierung
•        Database paging
•        Tiefensortierung




                                             Uwe Wössner
    16     Visualisierung technisch wissenschaftlicher Daten
View frustum culling

•        Objekte die sich nicht im sichtbaren Bereich befinden werden
         nicht bearbeitet und daher nicht zur Grafikkarte geschickt.
•        Zur effizienten Sichtbarkeitsberechnung werden Bounding
         Spheres bzw. Boundingboxes eingesetzt.
•        Ganze Gruppen können so ausgeschlossen werden.




                                                               L1     L2     L3




                                                                    Laster




                                             Uwe Wössner
    17     Visualisierung technisch wissenschaftlicher Daten
View frustum culling

•        Bounding Spheres
          – Sehr einfach und schnell zu berechnen
          – Bei langen/schmalen Objekten sehr ungenau
•        Axis aligned Bounding Boxes
          – Schnell
          – Mäßig genau
•        Orientierte Bounding Boxes
          – Aufwändig
          – genau




                                             Uwe Wössner
    18     Visualisierung technisch wissenschaftlicher Daten
Visibility Culling

•        Verdeckte Objekte werden nicht bearbeitet und daher nicht zur
         Grafikkarte geschickt.
•        Tiefensortierung zur Reduktion der Tests
•        Teilweise mit Hardwareunterstützung
•        Portal Systeme für Innenräume




                                             Uwe Wössner
    19     Visualisierung technisch wissenschaftlicher Daten
Level of Detail

•        Unterschiedlich detaillierte Versionen eines Objektes werden modelliert
•        Mit steigender Distanz des Objektes zum Betrachter werden immer
         detailärmere Versionen dargestellt.
•        Je nach Auslastung des Systems werden unterschiedlich detaillierte
         Versionen dargestellt.




•        Continuous LoD z.B. bei Terrain rendering




                                              Uwe Wössner
    20      Visualisierung technisch wissenschaftlicher Daten
Imposters

•        Geometrische Objekte, z.B. Häuser werden gerendert.
•        Das 2D Abbild dieses Objektes wird in darauf folgenden Bildern
         als Billboard gerendert, bis der Betrachterwinkel sich zu stark
         ändert oder der Betrachter sich dem Objekt nähert
•        Wird z.B. für Bäume oder Häuser im Hintergrund verwendet.
•        Einzelne Häuser können zusätzlich bei größerer Distanz zu
         Hausgruppen oder Städten zusammengefasst werden. Bäume zu
         Baumgruppen und Wäldern.




                                             Uwe Wössner
    21     Visualisierung technisch wissenschaftlicher Daten
State Sorting

•        Aktuelle 3D Grafikkarten arbeiten am schnellsten, wenn sich der
         Zustand der Grafikpipeline nicht ändert, d.h. die Farben,
         Materialeigenschaften, Primitivtyp usw. sich nicht ändern.
•        Jede Änderung dieser Parameter, dem so genannten „State“ der
         Grafikpipeline erfordert das Senden von Befehlen an die
         Grafikkarte Verarbeitung der Befehle durch die Grafikkarte und ein
         zumindest teilweises Leeren der Pipeline.
•        Aktuelle Szenengraphen sortieren die Objekte so, dass Objekte
         mit gleichen Eigenschaften nacheinander gerendert werden,
         dadurch reduziert sich die Anzahl der State Änderungen.




                                              Uwe Wössner
    22      Visualisierung technisch wissenschaftlicher Daten
Geometrie konvertierung

•        Primitive wie z.B. Triangle Strips oder Triangle Fans werden
         schneller verarbeitet als allgemeine Polygone.
•        Aktuelle Grafikkarten unterstützen Vertex-buffer Objekte, bei
         denen Vertices, Farben, Normalen usw. nicht durch einzelne
         Befehle (glVertex3f…) angegeben werden, sondern ganze Arrays
         von Parametern in einer Nachricht an die Grafikkarte geschickt
         werden.
•        In einem Optimierungsschritt können im Szenegraph Objekte in
         optimierte Geometrietypen konvertiert werden.
•        Konkave Polygone werden korrekt tesseliert. (3D Grafikkarten
         verarbeiten konkave Polygone entweder falsch oder nur sehr
         langsam).




                                             Uwe Wössner
    23     Visualisierung technisch wissenschaftlicher Daten
Display-List Generierung

•        Befehlsfolgen zum Zeichnen von Objekten können in so
         genannten Displaylisten gespeichert werden.
•        Diese können dann in darauf folgenden Schritten mit nur
         einem Befehl aufgerufen werden.




                                                                                Ungültig
                                     DL2                           DL1    DL2
             DL1



                                                               Änderung




                                             Uwe Wössner
    24     Visualisierung technisch wissenschaftlicher Daten
Database Paging

•        Teile des Szenengraphen werden erst geladen wenn sie
         sichtbar werden.
•        Sobald sie sich wieder außerhalb des sichtbaren Bereichs
         befinden werden sie wieder gelöscht.
•        Dadurch können beliebig große Datensätze verarbeitet
         werden.
•        Es können dadurch auch multiresolution Ansätze realisiert
         werden.




                                             Uwe Wössner
    25     Visualisierung technisch wissenschaftlicher Daten
Sortierung

•        Zur korrekten Darstellung transparenter Objekte müssen
         diese der Tiefe nach sortiert gerendert werden.
•        Dabei kann wieder die Bounding Sphere Information zur
         Beschleunigung herangezogen werden.
•        Auch für andere Algorithmen müssen die Objekte in einer
         bestimmten Reihenfolge gerendert werden, z.B. Schatten
         Lensflare, Spiegelungen usw.




                                             Uwe Wössner
    26     Visualisierung technisch wissenschaftlicher Daten

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:16
posted:9/20/2010
language:German
pages:26