+void Node::AddRenderer( Renderer* renderer )
+{
+ // Check that it has not been already added.
+ unsigned int rendererCount( mRenderer.Size() );
+ for( unsigned int i(0); i < rendererCount; ++i )
+ {
+ if( mRenderer[i] == renderer )
+ {
+ // Renderer is already in the list.
+ return;
+ }
+ }
+
+ // If it is the first renderer added, make sure the world transform will be calculated
+ // in the next update as world transform is not computed if node has no renderers.
+ if( rendererCount == 0 )
+ {
+ mDirtyFlags |= TransformFlag;
+ }
+
+ mRenderer.PushBack( renderer );
+}
+