# 3D Scenes and Nodes

#### <a class="anchor" id="bkmrk--95"></a>Scenes and Nodes

[Candera::Node](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_node.html "The class Node is an abstract base class for all scene graph nodes. Each Node defines a local coordin...") is an abstract base class for all scene graph nodes.

<div drawio-diagram="1966"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-02/drawing-4-1676880912.png" alt=""/></div>

<div class="contents" id="bkmrk--1"><div class="contents"><div class="textblock">  
</div></div></div>Each node defines a local coordinate system relative to the coordinate system of the parent node. The functionality to define the local coordinate system is derived from [Candera::Transformable](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_transformable.html "Defines common methods for manipulating node and texture transformations in local coordinate space (o...") and consists of following components:

<div class="contents" id="bkmrk-position%2C-rotation%2C-"><div class="contents"><div class="textblock">- position,
- rotation,
- scale,
- and a generic matrix called transform matrix.

</div></div></div>If the node is transformed from the local coordinate system to the world's coordinate system, then the node's local transformation is multiplied with all its parent's transformations. A node can also store a set of nodes as its children but a node can only have one parent at a time. Cycles are prohibited. The nodes alpha value is multiplied with the alpha value of its descendent nodes.

[Candera::Scene](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_scene.html "The class Scene represents a top level scene graph node. Multiple Scenes are allowed. A Scene can not be part of any other Scene. To render a Scene, at least one Camera must be part of this Scene and the Camera must have rendering enabled. A Scene can have more than one Camera. Note: Lights added to a Scene apply for that Scene only and do not affect 3D objects in any other Scene.") is the top level scene node which cannot be part of any other node.