我的代码是这样的:
osgViewer::Viewer viewer;
viewer.setSceneData(scene);
viewer.setCameraManipulator( tracker.get() );
viewer.setUpViewInWindow(10,10,1024,768,0);
viewer.realize();
现在,这个查看器对象为我提供了一个包含车辆模型,地形等场景的视图。我想从这个查看器中获取RGB图像,而不管数据是如何写入场景的。
基本上,我想要一个来自观察者的RGB图像,而没有关于什么数据写入场景的先前信息。如果观众在1024 * 768窗口中显示某些内容,我希望它作为RGB图像。
答案 0 :(得分:1)
如果我理解正确,那么osg::ScreenCaptureHandler应该适合你的账单。它是include / osgViewer中的ViewerEventHandlers标头的一部分。
这是一个简单的事件处理程序,在按键时,捕获并存储当前视图的图像。您可以使用它或根据自己的喜好进行调整。