2012-04-17 15 views
0

私は、コードを持っている。このようなものです:RGB画像::ビューア

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

今は、このビューアオブジェクトは、私が希望の車両モデル、地形などが含まれているシーンのビューを提供しますデータがシーンにどのように書き込まれたかに関係なく、このビューアからRGB画像を取得することができます。

本質的に、私は、シーンに書き込まれるデータに関する以前の情報なしで、ビューアからのRGB画像を必要とします。ビューアが1024 * 768のウィンドウに何かを表示する場合、私はそれをRGB画像として望みます。

答えて

1

私があなたを正しく理解していれば、osg::ScreenCaptureHandlerはあなたの請求書に合うはずです。これは、include/osgViewerにあるViewerEventHandlersヘッダーの一部です。

これは、キーを押すと、現在のビューのイメージをキャプチャして保存する単純なイベントハンドラです。あなたはこれを使うことも、あなたの好みに合わせることもできます。

+0

こんにちは、実際にはファイルとして保存したくありません。私はキーストロークなしで、処理のためにそれを使用したい。 私はビューアの出力を取得するので、画像(RGB形式)としてビューア出力にキーポイント生成などの画像処理をする必要があります。だから、私はキーストロークを待つことはできません、私はフレームバッファにキャプチャすることができますffps –

+1

あなたの好みにそれを適応させます。何らかの変更を加えてイベントをトリガーすることができます。結果として得られるosg :: Imageを必ずしもファイルに保存する必要はありません。 – Bart

関連する問題