调试osgEarth(33)分页瓦片卸载器子节点的作用-(3)渲染遍历的帧号和时间设置-_真正的terrain使用TerrainCuller---水平方向剔除

如果还记得来自于何方,看看一个月前如何引入TerrainCuller的。
在这里插入图片描述
如何判断是否该cull呢?在这里先打个断点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用的包围球
在这里插入图片描述
在这里插入图片描述
可见,通过VIEW_FRUSTUM_CULLING,SMALL_FEATURE_CULLING,SHADOW_OCCLUSION_CULLING三种方式剔除
在这里插入图片描述
可见,目前用的是视锥体剔除

现在进入正文,开始剔除
在这里插入图片描述
在这里插入图片描述
先看水平方向
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可见,判断是否可见是与切面相关联的。该切面切椭球体。如果目标在视线上面,则可视;如果视点在切面以下,且目标比视点还靠下,则目标 被遮挡;
如果视线在切面上面,且目标在切面前面,则目标可视。

下一步就考虑,这些切面如何来的?很明显,是_points[]数组。这些points[]数组来于哪里呢?原来来自于包围盒的顶部四个顶点。
在这里插入图片描述
这个包围盒又从哪里来呢?设个断点在这里,
重新开始
在这里插入图片描述上一层
在这里插入图片描述

在这里插入图片描述
那么,这个_drawable是从哪里来的呢
在这里插入图片描述
在这里插入图片描述
可见,又回溯到surfaceDrawable,
在这里插入图片描述
这个geom是什么呢
在这里插入图片描述
可见,是以前调试过的geometrytool中的图元.

总上所述,水平方向遮挡是Horizon->HorizonTileCuller(_points)->box->SurfaceNode->(_drawable)->TileDrawable->GeometryPool->EngineContext->TileNode

就这样吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值