Ogre::OctTreeSceneManager 阅读心得

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相交
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值