Hi,
ich würde gerne für mein Subsystem (GraphicsPlugin) einen Scene Graphen programmieren.
Leider finde ich nirgends gute Informationen, wie genau man so einen Scene Graphen aufbauen kann. Es gibt einen Artikel bei Gamedev, der aber auch nicht so eine wirklich gute Implementierung zeigt, wie man in der Diskussion über den Artikel lesen kann.
Das Prinzip würde dann so aussehen:
Eine Basisklasse, die einen Node repräsentiert. Die Klasse hat eine Liste von Kindobjekten, die an diesem Knoten hängen und einen Zeiger auf den Parentknoten. Jeder Knoten hat eine eigene Weltmatrix, die im Offset zu seiner Parent Weltmatrix steht. Aktualisiert wird sie immer automatisch durch Rekursion, wenn ein Elternknoten aktualisiert wird. Genauso beim Rendern.
Das hört sich eigentlich einfach an und im Prinzip ist es das auch. Die Implementierung ist ein Klacks. Nur in wie weit ist die Implementierung gut? (Stellen wir uns vor wir würden nur das oben beschriebene Prinzip implementieren).
Konkrete Objekte, die von der Basisklasse abgeleitet werden, sind dann z.B. eine MeshKlasse, eine KameraKlasse usw.
In der Ogre Engine wird das alles durch Managerklassen gesteuert. Ich Blick da aber noch nicht ganz durch, da die Implementierung doch um einiges komplexer ist
.
Hat vielleicht jemand Informationen zum Thema Scene Graph?
Vielleicht sogar eine eigene kommentierte Implementierung?