Scene

NVIDIA PRO PIPELINE

By [Tavenrath 2013], the NVIDIA PRO PIPELINE consists of the following stages: SceneGraph -> SceneTree -> ShapeList.

Since there is no document for NVIDIA PRO PIPELINE, we may refer to the documents of NVIDIA SceniX.

Scene Graph

The dp::sg::core::Scene represents the scene graph which is also referred to as the user tree by NVIDIA SceniX and user-oriented tree by [Akenine-Moller 2018] / 19.1.5 Scene Graphs.

However, we should note that the scene graph and scene tree are diffirent. The scene graph is a DAG which may share the subtree and thus is not efficient. And, in real time rendering, we usually use the scene tree instead, which only shares the leaf nodes ([Akenine-Moller 2018] / 19.1.5 Scene Graphs).

The dp::sg::core::Node represents all nodes (both the internal nodes and the leaf nodes) of the scene graph.

And the dp::sg::core::Group represents the internal node which provides the ability to group dp::sg::core::Node-derived objects as children.

There are several dp::sg::core::Group-derived internal nodes: dp::sg::core::Transform, dp::sg::core::LOD ([Akenine-Moller 2018] / Figure 19.34), dp::sg::core::Switch, dp::sg::core::Billboard ([Akenine-Moller 2018] / 13.6. Billboarding).

There are several dp::sg::core::Node-derived but NOT dp::sg::core::Group-derived leaf nodes: dp::sg::core::GeoNode, dp::sg::core::LightSource, dp::sg::core::ClipPlane.

Scene Tree

Pixar Hydra

References

[Harrison 2010] Brian Harrison, Michael Morrison. "BUILDING CUTTING-EDGE REALTIME 3D APPLICATIONS WITH NVIDIA SCENIX." GTC 2010.
[Tavenrath 2013] Markus Tavenrath, Christoph Kubisch. "Advanced Scenegraph Rendering Pipeline." GTC 2013.
[Akenine-Moller 2018] Tomas Akenine-Moller, Eric Haines, Naty Hoffman, Angelo Pesce, Michal Iwanicki, Sebastien Hillaire. "Real-Time Rendering Fourth Edition." CRC Press 2018.
[Elkoura 2019] George Elkoura, Sebastian Grassia, Sunya Boonyatera, Alex Mohr, Pol Jeremias-Vila, Matt Kuruc. "A deep dive into universal scene description and hydra." SIGGRAPH 2019.