调试osgEarth(33)分页瓦片卸载器子节点的作用-(3)渲染遍历的帧号和时间设置-TerrainCuller构造函数-阴影摄像机及TerrainCuller构造函数总结

2023-11-12

继续调试。
下一步该轮到阴影摄像机了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里有个标识“OE_IS_SHADOW_CAMERA”,我猜测是传到GPU里面的参数,是不是,需要继续调试。
在这里插入图片描述
整句话拷贝过来
const DefinePair* getDefinePair(const std::string& defineName) const { DefineList::const_iterator itr = _defineList.find(defineName); return (itr!=_defineList.end()) ? &(itr->second) : 0; }
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
从这里可以看到,状态集的_defineList没有包含"OE_IS_SHADOW_CAMERA",就不是阴影摄像机。看来我想错了,不是UniformList,而是_defineList
在这里插入图片描述
因为第一个判断条件也成立了,所以,第二个条件就没必要判断了,在这里看看context里面的castShadows
在这里插入图片描述

构造函数终于结束了,
果然,学习不能慌,慢慢来。
总结下。
TerrainCuller派生于osg::NodeVisitor,和osg::CullStack,所以是个用来裁剪的访问器,因而很多成员变量直接从参数cullvisitor中传过来。
同时,也是个地球的裁剪器,与地理信息相关。所以,水平裁剪时考虑了球体,用osgEarth.horizon。通过状态集的_defineList有没有包含"OE_IS_SHADOW_CAMERA"判断是否是阴影摄像机,如果不是阴影摄像机,则为可接受的表面节点。
如果是阴影摄像机,通过EngineContext指针,判断是否上下文是castShadow,如果是,也是可接受的表面节点。

就这样吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试osgEarth(33)分页瓦片卸载器子节点的作用-(3)渲染遍历的帧号和时间设置-TerrainCuller构造函数-阴影摄像机及TerrainCuller构造函数总结 的相关文章

  • 如何在opensea批量发布NFT(Goerli测试网)

    一 生成NFT图象 hashlips art engine HashLips Art Engine 是一种用于根据提供的图层创建多个不同的艺术作品实例的工具 1 安装 npm install or yarn install 2 使用 在 l
  • 微信小程序简单的信息表格的提交到数据库(新手篇)(云端数据库)

    微信小程序简单的信息表格的提交到数据库 新手专属 云端数据库 大家好 我是小陈 一名大一的编码爱好者 刚刚结束了大一的学习生活 也总结出了一点编码的经验 希望与大家一起分享 我是学习物联网的 总感觉大一的课程枯燥无味 所以索性自学了一点微信
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是

随机推荐