1

PyOpenGl生理学実験で使用される視覚刺激を表示するための簡単なツールを作成しています。現在、私は刺激を 内の単一のビューポートにレンダリングwxGLCanvasし、プロジェクターで全画面表示しています。ユーザーがプロジェクターに表示されているものを「プレビュー」できるように、2 番目のビューポートを追加したいと思います。ただし、2 番目のビューポートに対して既に行っているすべての描画呼び出しを複製したくはありません。刺激をミリ秒単位の正確な時間 (ウォール クロックに対して測定) で表示する必要があるため、十分に高いフレームレートを達成するために、オーバーヘッドを最小限に抑えたいと考えています。

私の質問は、2 つのビューポートでまったく同じフレームを効率的にレンダリングする最も簡単な方法は何ですか? 頂点バッファ オブジェクトについて少し読んだことがありますが、OpenGL についての私の理解は非常に初歩的なものであり、VBO が私のケースに最適な方法であるかどうかはわかりません。

4

1 に答える 1

2
  1. テクスチャ、レンダーバッファ、およびフレームバッファオブジェクトを作成します
  2. フレームバッファオブジェクトをopenglコンテキストにバインドします
  3. フレームバッファのカラーコンポーネントにテクスチャをアタッチします
  4. レンダーバッファをフレームバッファの深度コンポーネントにアタッチします
  5. このフレームバッファにレンダリングする
  6. デフォルトのフレームバッファに切り替えます
  7. テクスチャをビューポートにレンダリングします。

FBOの詳細:http ://www.opengl.org/wiki/Framebuffer_Objects

2つのビューポート間でopenglコンテキストを共有していることを確認してください(http://wiki.wxwidgets.org/WxGLCanvas#Sharing_wxGLCanvas_contextを参照)

于 2013-01-24T05:25:45.970 に答える