第二天(七)osg::Object* readObjectFile_const std::string& filename_const ReaderWriter::Options* options

2023-10-27

目前流程是:

osgViewer::viewBase:: frame()

{

viewerInit();[

                          //创建帧事件,并将漫游器与事件和视口相关联

                            ->   osgViewer::Viewer::ViewerInit()

                           ->  osgViewer::View::Init();

                          ->(1)osgGA::EventQueue::createEvent();

                            (2)osgGA::MatrixManipulator::Init();

                            ->(2.1)各种漫游器::init()

                 ]

isRealized();[

                                    //获取图形上下文数组。再遍历上下文数组,只要有一个准备好就Ok

                                  ->   osgViewer::Viewer::isRealized();

                                 ->(1)osgViewer::Viewer::getContexts().

                                          ->(1.1)osg::camera::getGraphicsContext()

                                          ->(1.2)osg::View::getNumSlaves()

                                         ->(1.3)osg::View::getSlave()

                                         ->(1.4)LessGraphicsContext()->osg::GraphicContext::getTraits()

                                ->(2)osg::GraphicContext::isRealized()

                                        ->(2.1)->(1)

                                       ->(2.2)osg::GraphicsContext::isRealized()

                                                ->osg::GraphicsContext::isRealizedImplementation()

                                               ->(2.2.1)osgViewer::GraphicsWindow::isRealizedImplementation()

                                                             ->(2.2.1.1)osgViewer:: GraphicsWindowWin32 ::isRealizedImplementation()

                                                             ->(2.2.1.2) osgViewer::GraphicsWindowEmbedded ::isRealizedImplementation()

                                              ->(2.2.2)osgViewer::PixelBufferWin32::isRealizedImplementation()

                               -

 

                    ]

realize(); [

                    //建立视口和相关的线程

                     ->osgViewer::Viewer::realize()

                     ->(1) osgViewer::Viewer::setCameraWithFocus()

                     ->(2)osgViewer::Viewer::getContexts()

                    ->(3)osgViewer::Viewer::readConfiguration()

                          ->(3.1)osgDB::readObjectFile(const std::string& filename)

                                 ->(3.1.1)osg::Object* readObjectFile(const std::string& filename,const ReaderWriter::Options* options);

                          ->(3.2)osgViewer::Viewer::take()

                    ->(4)待续

                ]

advance(simulationTime);

eventTraversal();

updateTraversal();

renderingTraversals();

}

 

转眼十几天过去了,还没更新,还是太心急了,不要急,一不跳槽,二没开除,完成当天任务即可。快就是慢,慢就是快。

 

继续看

osg::Object* readObjectFile(const std::string& filename,const ReaderWriter::Options* options);

 

代码是:

 

inline osg::Object * readObjectFile_lf(const std::string& fileName)
{
    return readObjectFile(fileName, Registry::instance()->getOptions());
}

分别用到了

osg::Object* readObjectFile(const std::string& filename,const ReaderWriter::Options* options);

osgDB::Registry* osgDB::Registry::instance(bool erase);

  ReaderWriter::Options* osgDB::getOptions();

 

好,就到这里,短小精悍。

目前流程是:

osgViewer::viewBase:: frame()

{

viewerInit();[

                          //创建帧事件,并将漫游器与事件和视口相关联

                            ->   osgViewer::Viewer::ViewerInit()

                           ->  osgViewer::View::Init();

                          ->(1)osgGA::EventQueue::createEvent();

                            (2)osgGA::MatrixManipulator::Init();

                            ->(2.1)各种漫游器::init()

                 ]

isRealized();[

                                    //获取图形上下文数组。再遍历上下文数组,只要有一个准备好就Ok

                                  ->   osgViewer::Viewer::isRealized();

                                 ->(1)osgViewer::Viewer::getContexts().

                                          ->(1.1)osg::camera::getGraphicsContext()

                                          ->(1.2)osg::View::getNumSlaves()

                                         ->(1.3)osg::View::getSlave()

                                         ->(1.4)LessGraphicsContext()->osg::GraphicContext::getTraits()

                                ->(2)osg::GraphicContext::isRealized()

                                        ->(2.1)->(1)

                                       ->(2.2)osg::GraphicsContext::isRealized()

                                                ->osg::GraphicsContext::isRealizedImplementation()

                                               ->(2.2.1)osgViewer::GraphicsWindow::isRealizedImplementation()

                                                             ->(2.2.1.1)osgViewer:: GraphicsWindowWin32 ::isRealizedImplementation()

                                                             ->(2.2.1.2) osgViewer::GraphicsWindowEmbedded ::isRealizedImplementation()

                                              ->(2.2.2)osgViewer::PixelBufferWin32::isRealizedImplementation()

                               -

 

                    ]

realize(); [

                    //建立视口和相关的线程

                     ->osgViewer::Viewer::realize()

                     ->(1) osgViewer::Viewer::setCameraWithFocus()

                     ->(2)osgViewer::Viewer::getContexts()

                    ->(3)osgViewer::Viewer::readConfiguration()

                          ->(3.1)osgDB::readObjectFile(const std::string& filename)

                                             ->(3.1.1)osg::Object* readObjectFile(const std::string& filename,const ReaderWriter::Options* options);

                                              ->(3.1.2)osgDB::Registry* osgDB::Registry::instance(bool erase);

                                              ->(3.1.3)ReaderWriter::Options* osgDB::getOptions();

                          ->(3.2)osgViewer::Viewer::take()

                    ->(4)待续

                ]

advance(simulationTime);

eventTraversal();

updateTraversal();

renderingTraversals();

}

 

 

 

 

 

 

 

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

第二天(七)osg::Object* readObjectFile_const std::string& filename_const ReaderWriter::Options* options 的相关文章

随机推荐

  • ffmpeg使用qsv解码碰到的问题

    ffmpeg使用qsv硬解码出来的视频帧格式是AV PIX FMT NV12格式的 ffmpeg使用qsv硬解码出来的视频帧格式是AV PIX FMT NV12格式的 在调用sws getContext函数时第三个参数必须强制传入AV PI
  • Ubuntu 22.04编译安装Redis 7

    Ubuntu 22 04编译安装Redis 7 一 下载 1 访问Redis官方网站 https redis io 点击顶部菜单栏右侧的 Download 进入下载页面 2 在下载页面的左侧可以看到Redis相关信息 右键单击 Downlo
  • 蓝桥杯-模拟

    星期一 611 import datetime start datetime date 1901 1 1 end datetime date 2000 12 31 delta datetime timedelta days 1 s 0 wh
  • java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long 错误分析

    从内容中已经知道是类转换报错 但是为什么会报错呢 int类型是可以转换为long类型的 对这种低精度是可以直接转为高精度的 但是报错也明确的提示了 java lang Integer cannot be cast to java lang
  • HTML <strong> 标签

    定义和用法 以下元素都是短语元素 虽然这些标签定义的文本大多会呈现出特殊的样式 但实际上 这些标签都拥有确切的语义 我们并不反对使用它们 但是如果您只是为了达到某种视觉效果而使用这些标签的话 我们建议您使用样式表 那么做会达到更加丰富的效果
  • 实现在最新版本的cesium中引用叠加shp文件的类的功能

    因为刚接触cesium不久 对js的编码规范什么的也不是很懂 所以这么简单的问题就搞了好几天 不过总算有所突破了 网上看到这个文章 http blog sina com cn s blog 15e866bbe0102xxd1 html 里面
  • springboot+springcloud相关面试题

    什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置 properties或yml文件 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven
  • 学习笔记(103):R语言入门基础-数据点类型(type参数)

    立即学习 https edu csdn net course play 24913 285847 utm source blogtoedu type参数 type p 在图形中数据显示为点 type l 在图形中数据显示为线 type b
  • sort排序用法

    Python sorted函数 我们需要对List Dict进行排序 Python提供了两个方法对给定的List L进行排序 方法1 用List的成员函数sort进行排序 在本地进行排序 不返回副本方法2 用built in函数sorted
  • 在矩池云使用Llama2-7B的具体方法

    今天给大家分享如何在矩池云服务器使用 Llama2 7b模型 硬件要求 矩池云已经配置好了 Llama 2 Web UI 环境 显存需要大于 8G 可以选择 A4000 P100 3090 以及更高配置的等显卡 租用机器 在矩池云主机市场
  • 图像对比度,亮度

    很多时候 一张图像被过度曝光 显得很白 或者光线不足显得很暗 这个时候可以通过调节图像的这两个基本属性 亮度与对比度 来获得整体效果的提升 从而获得质量更高的图片 1 算子operator 首先我们给出算子的概念 一般的图像处理算子都是一个
  • 电源学习总结(五)——开关电源基本原理

    前面讲了一些线性稳压的原理和设计的基本方法 事实上 除了一些功率较大或者对精度要求较高的电源设计 使用集成的线性稳压芯片很少出现 翻车 事故 一般只需关注输入输出范围即可 此外 需注意由于集成的开关电源芯片 尤其是贴片封装的 如SOT 22
  • 【CUDA】初步了解PageLocked host memory的mapped memory功能使用

    导言 大家都知道CUDA 中PageLocked memory 相比portable memory 有着多种优势 在有front side bus的系统中 pagelocked memory 所提供的host 与device之间的数据传送速
  • 硬盘突然提示没有初始化_分享一下固态硬盘不认盘的修复方法

    写在开头 固态硬盘比较害怕突然停电 如果里面有重要数据 请勿用此方法尝试修复 即便可以成功 里面的数据也已经被抹除 需要恢复数据的话 还是需要找专业的数据恢复公司来做 切勿自己折腾 进入正题 前段时间淘了一块威刚的SP550 120G SA
  • 常用脚本(九)Unity_Input

    1 输出鼠标位置 在Update方法中 Debug Log Input mouseposition 2 判断鼠标是否点击 返回 True 和 false 每帧都输出 在Update方法中 Debug Log Input anykey 3 I
  • run()方法和start()方法的区别

    run 方法和start 方法的区别 文章目录 run 方法和start 方法的区别 一 start 是什么 二 run 是什么 三 具体代码实例 四 start 和run 方法的区别 参考 一 start 是什么 用 start方法来启动
  • 安全并正确地重启Elasticsearch集群

    文章目录 前言 问题原因其本质 提前准备 准备重启集群 更新集群 前言 elasticsearch本身具有高可用性 可以做到停机不停服务 在重启elasticsearch后可能存在数据丢失 或者是 启动ES后 怎么一直有大量的数据在迁移 问
  • 快速创建一个spring boot项目

    写了两年还在创建spring boot 项目 最近想自己尝试开发一个项目 所以随便记录一下吧 平常 工作都是现成的项目开发 在项目上加新功能之类的 除了工作平常回去也没琢磨 现在想多思考 为了国庆之后辞职 找工作做一个铺垫 分割线 选择一些
  • linux内核vmlinux生成过程简要分析

    最近工作不太忙 研究了一下Linux内核的编译过程 在此简要记录一下 obj zImage obj compressed vmlinux FORCE call if changed objcopy linux的内核 zImage 的生成依赖
  • 第二天(七)osg::Object* readObjectFile_const std::string& filename_const ReaderWriter::Options* options

    目前流程是 osgViewer viewBase frame viewerInit 创建帧事件 并将漫游器与事件和视口相关联 gt osgViewer Viewer ViewerInit gt osgViewer View Init gt