Implementierungsbeispiel für Szenengraphen
← Szenengraph Konstruktion | ● | Szenengraph Traversierung →
Implementierungsbeispiel für die Konstruktion eines Szenengraphen mit einer Kamera (typischerweise in initializeOpenGL):
lgl_Node *cam = new lgl_CameraNode();
cam->setPerspective(...);
cam_->setAspect(...);
cam_->setEye(...);
root->add(cam);
Dem Szenengraphen werden zusätzlich zwei unterschiedlich transformierte Geometrien mit den Modellierungs-Matrizen M1 und M2 und den Farben c1 und c2 hinzugefügt:
lgl_Node *geometry = new lgl_ContainerNode(vbo);
root->add(new lgl_TransformationNode(M1)->add(new lgl_ColorNode(c1))->add(geometry);
root->add(new lgl_TransformationNode(M2)->add(new lgl_ColorNode(c2))->add(geometry);
Für jeden Frame wird die so definierte Szene gerendet (typischerweise in renderOpenGL):
Und bei Programmende der Szenengraph gelöscht (typischerweise im Destruktor des Fenster-Widgets):
Live Demo: Szenengraph-Konstruktion (T#D01a)
← Szenengraph Konstruktion | ● | Szenengraph Traversierung →