为什么将相机添加到osg中后,该相机不保持其他相机的子级?
Why does the camera not remain child of the other camera after adding it in osg?
我正在编写一个基于OpenSceneGraph的程序,该程序使用两个摄像头,一个为用户渲染预览,另一个使用回调使用MRT制作屏幕截图。导出器相机使用正交投影,并且始终从具有相同视图和向上矢量的相同位置开始,而预览相机可以由用户移动。
启动程序后,我创建预览相机,向其添加着色器,然后设置查看器并将预览相机添加到其中。
之后,我创建导出相机,添加其着色器、纹理和回调,然后将导出相机作为子级添加到预览相机。到目前为止,尚未呈现任何内容(即未进行frame
调用(。
发出addChild
调用(即在 VS 中达到断点,进一步我可以看到导出器相机现在是预览相机的子级(。但是,一旦我发出命令来实际制作屏幕截图,导出器相机就不再是预览相机的子级(到目前为止,已经进行了一些渲染调用(。
为什么会这样,除了再次添加导出器相机之外,我如何修复它?
附带说明:我开始使用 computergraphics.stackexchange.com,这个问题是否适合那一边,还是适用于算法而不是实现?
如果您使用的是osg::View,它对主从相机有自己的实现 - 有关信息,请参阅osg::View标头或此旧教程以获取示例:http://thermalpixel.github.io/osg/2014/02/15/rtt-with-slave-cameras.html
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 了解 GLM- openGL 中的相机转换
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 在其他文件中创建类时在 c++ 项目中不起作用
- 类与私有变量的其他类之间的线程安全性
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- OpenGL相机和相机空间转型的困惑
- GlobalAlloc而不是其他分配方法
- C++从其他 constexpr 创建 lambda 不能按顺序执行 Constexpr
- 断言中的Fold表达式在某些计算机上编译,但在其他计算机上不编译
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 结构和双指针隐藏在其他结构中,多层混淆
- UE4在OnComponentBeginOverlap上铸造其他actor
- Unity3d 中还有其他方法可以访问设备相机吗?
- 为什么将相机添加到osg中后,该相机不保持其他相机的子级?
- 在构造函数以外的任何其他位置访问相机时,我的相机指针返回 null
- XIMEA:openCV 2.4.9找不到XIMEA相机,尽管它可以与其他程序配合使用