首先一个
Entity
对象必须
Attach
到一个
SceneNode
。
1.
创建一个
SceneNode
:
SceneManager::getRootSceneNode() (在 SceneManager::init 时会创建一个 RootNode )
à SceneNode::createChildSceneNode()
à Node::createChild()
主要的操作在这个函数中完成,首先调用虚函数 SceneNode::createChildImpl (),此函数又会调用 OctreeSceneManager::createSceneNode (),此函数会 new 一个 SceneNode 的派生类对象,这里是 OctreeNode ,并加入到 SceneNodeList mSceneNodes 中;随后又进行了坐标变换;最后将此指针又加入到 ChildNodeMap mChildren 中,然后返回此指针;
SceneManager::getRootSceneNode() (在 SceneManager::init 时会创建一个 RootNode )
à SceneNode::createChildSceneNode()
à Node::createChild()
主要的操作在这个函数中完成,首先调用虚函数 SceneNode::createChildImpl (),此函数又会调用 OctreeSceneManager::createSceneNode (),此函数会 new 一个 SceneNode 的派生类对象,这里是 OctreeNode ,并加入到 SceneNodeList mSceneNodes 中;随后又进行了坐标变换;最后将此指针又加入到 ChildNodeMap mChildren 中,然后返回此指针;
2.
将
Entity Attach
到
SceneNode
:
SceneNode:: attachObject()
;
3.
渲染从
Root::startRendering()
函数开始,此函数启动一个循环,每次执行
Root::renderOneFrame
()
à
à