Portal和Octtree是目前比较流行的场景管理方式.
Portal-Based Culling
可以再 http://www.visualizationlibrary.com/documentation/pagguideportals.html 看到他的原理
Octtree,八叉树...记得第一个项目就是用的八叉树 那会我完全不能理解呢... 好怀念
OcttreeSceneManager的创建方式:
Root->CreateSceneManager( OctreeSceneManagerFactory::FACTORY_TYPE_NAME );
每当一个SceneNode::_update() 的时候 OcttreeSceneManager::_addOctreeNode()就会被调用
Octtree::_getChildIndexes() 会根据SceneNode的外接盒来计算这个节点属于哪个子节点,直到深度为8 或者Octtree只有外接盒的2倍大的是很就停止下来
这一步每次更新都会调用,目的是在后面为了cull而做准备.
因此Ogre并不是静态的八叉树,而是动态分配的
OctTreeCamera 这个相机唯一不同的地方就是
OctreeCamera::Visibility getVisibility( const AxisAlignedBox &bound );
他用来判断一个外接盒是不是和相机的Frustum相交