Beruflich Dokumente
Kultur Dokumente
VIRTUELLE REALITT
1.BUNG:
REAL TIME RENDERING
(SZENENGRAPHEN)
M.Sc. Erik Berger
Organisatorisches
2
bungsmaterialien
Hausaufgaben
Wchentlich
Bonus (Anwesenheit + Prsentation)
https://bildungsportal.sachsen.de/opal/dmz/
Fragen?
Erik.Berger@informatik.tu-freiberg.de
Szenengraphen
3
Objektorientiere Datenstruktur
Reprsentation der Szene als Graph
Gerichteter
(root)
Transformation (T)
Geometrie (G)
Gruppen (GR)
Hierarchie
Szenengraphen
4
Knoten Beziehung
nderung an Eltern hat Einfluss auf Kinder
Transformationsknoten sind lokale Koordinatensysteme
Globale Koordinaten durch traversieren des Graphen
Szenengraphen
root
Knoten Beziehung
nderung an Eltern hat Einfluss auf Kinder
Transformationsknoten sind lokale Koordinatensysteme
Globale Koordinaten durch traversieren des Graphen
root
Szenengraphen
Room
Knoten Beziehung
nderung an Eltern hat Einfluss auf Kinder
Transformationsknoten sind lokale Koordinatensysteme
Globale Koordinaten durch traversieren des Graphen
root
Szenengraphen
Room
T
GR
Knoten Beziehung
nderung an Eltern hat Einfluss auf Kinder
Transformationsknoten sind lokale Koordinatensysteme
Globale Koordinaten durch traversieren des Graphen
root
Szenengraphen
Room
T
GR
Table
Knoten Beziehung
nderung an Eltern hat Einfluss auf Kinder
Transformationsknoten sind lokale Koordinatensysteme
Globale Koordinaten durch traversieren des Graphen
root
Szenengraphen
Room
T
GR
Table
T
Apple
Knoten Beziehung
nderung an Eltern hat Einfluss auf Kinder
Transformationsknoten sind lokale Koordinatensysteme
Globale Koordinaten durch traversieren des Graphen
Szenengraphen
5
Beispiele fr Szenengraphen
Open
Inventor
Performer
Java3D
Cosmo3D
OpenSG
OpenSceneGraph (OSG)
http://www.openscenegraph.org/
OpenSceneGraph
6
OpenSource
Unix, Mac, Windows
Objektorientiert
C++
Basiert auf OpenGL
Einfache Anbindung an physikbasierte Simulation
OSG != OpenSG
OpenSceneGraph
7
Syntax
Standards
Vektoren:
Winkel:
osg::PositionAttitudeTransform
Translation:
Rotation:
setPosition(Vektor);
setAttitude(osg::Quat(Winkel,Vektor));
osg::Geode
osg::Vec3(1,0,0); osg::Vec4(1,0,0,1);
osg::DegreesToRadians(90);
Geometrie:
addDrawable(osg::ShapeDrawable)
ShapeDrawable
osg::Sphere/Box/Cylinder/