Renderer::cull()简析

本文详细介绍了OpenGL渲染过程中osgUtil::SceneView的使用,它主要用于摄像机剔除。主要内容包括从_availableQueue中取出SceneView,更新状态和设置,获取剔除配置,执行剔除操作,然后将SceneView加入绘制队列。此外,还提及了状态收集和立体显示的融合距离等辅助步骤。

在cull时,如果摄像机没有用线程剔除,则用Renderer::cull(),
在最长的一帧里用到了这种方法。

这里有个osgUtil::SceneView类,仅由renderer调用。这个SceneView类一开始我还以为时osgViewer;:Viewer,其实是两码事。

osgUtil::SceneView类一般是双缓存,放在_availableQueue里

可以说,Renderer的剔除过程也就是osgUtil::SceneView的操作过程

分几步
1,取出_availableQueue中取出第一个osgUtil::SceneView
2,更新osgUtil::SceneView的全局状态,状态量和设置
3,获取osgUtil::SceneView的剔除设置
4, osgUtil::SceneView剔除
5,将osgUtil::SceneView放入绘制队列_drawQueue

如果再加上状态收集,立体显示的融合距离。那就比较全面了。当然,那不是核心。

看看核心
1,取
在这里插入图片描述
2,更新状态和显示设置

3,获取筛选设置
在这里插入图片描述
4,筛选
在这里插入图片描述
5,放入绘制队列

在这里插入图片描述

OK,就这样吧

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值