gpt4 book ai didi

c++ - 为什么在 osg 中添加相机后相机不再是另一个相机的子相机?

转载 作者:行者123 更新时间:2023-11-28 05:03:27 36 4
gpt4 key购买 nike

我正在编写一个基于 OpenSceneGraph 的程序,该程序使用两个摄像头,一个用于为用户呈现预览,另一个使用回调通过 MRT 制作屏幕截图。导出器相机使用正交投影,并且始终从具有相同 View 和向上 vector 的相同位置出发,而预览相机可以由用户移动。

启动程序后,我创建了预览相机,将着色器添加到其中,然后设置查看器并将预览相机添加到其中。

然后我创建导出相机,添加它的着色器、纹理和回调,然后我将导出相机作为子相机添加到预览相机。到目前为止,还没有渲染任何内容(即没有进行任何 frame 调用)。

发出 addChild 调用(即在 VS 中达到断点,进一步我可以看到导出器相​​机现在是预览相机的子级)。然而,一旦我发出命令实际制作屏幕截图,导出器相机就不再是预览相机的子级(到目前为止,已经进行了一些渲染调用)。

这是为什么,除了再次添加导出器相机之外,我该如何解决它?


旁注:我开始使用 computergraphics.stackexchange.com ,这个问题是否适合那一方,或者它是否意味着算法而不是实现?

最佳答案

如果您正在使用 osg::View,它有自己的主从相机实现 - 请参阅 osg::View header 以获取信息或此旧教程中的示例:http://thermalpixel.github.io/osg/2014/02/15/rtt-with-slave-cameras.html

关于c++ - 为什么在 osg 中添加相机后相机不再是另一个相机的子相机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45367290/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com