0

我有这样的代码:

osgViewer::Viewer viewer;
viewer.setSceneData(scene);
viewer.setCameraManipulator( tracker.get() );
viewer.setUpViewInWindow(10,10,1024,768,0);
viewer.realize();

现在,这个查看器对象给了我一个包含车辆模型、地形等的场景视图。我想从这个查看器中获取一个 RGB 图像,而不管数据是如何写入场景的。

本质上,我想要来自查看器的 RGB 图像,而之前没有关于将哪些数据写入场景的信息。如果查看器在 1024*768 窗口中显示某些内容,我希望它是 RGB 图像。

4

1 回答 1

1

如果我理解正确,那么osg::ScreenCaptureHandler应该符合您的要求。它是位于 include/osgViewer 中的 ViewerEventHandlers 标头的一部分。

它是一个简单的事件处理程序,在按键按下时,捕获并存储当前视图的图像。您可以使用它,也可以根据自己的喜好对其进行调整。

于 2012-04-17T21:29:46.893 回答