私は WPF アプリケーションを使用しており、画面の一部に、おそらく 20 FPS で 3D で動的にレンダリングする必要があるオブジェクトが表示されます。通常、WPF アプリケーションは DirectX を使用して 3D レンダリングを行うことを理解しています。(WFP には簡略化された 3D API があることも理解していますが、レンダリングする三角形が多すぎるため、私の場合は機能しないと思います。) 私の場合、可能性が高いため、OpenGL を使用したいと考えています。アプリケーション全体が Windows 以外のマシンに移植されるので、3D コードを書き直す必要はありません。
OpenGL が直接レンダリングできる WPF コントロールを作成しようとする試みがいくつかあったようですが、それらはすべて、使用するには荒すぎたりリスクが高すぎたりするようです。
より安全なアプローチとして、OpenGL で FBO を使用してフレームを画面外にレンダリングし、ビットマップを取得してリアルタイムで通常の 2D 画像として WPF に渡すことができると考えました。
私の質問は速度についてです。このスキームには、契約を破るボトルネックがあると予想されますか? FBO レンダリングは、OpenGL 側での直接ウィンドウ レンダリングとほぼ同じ速度になると思いますか? また、レンダリングされた OpenGL イメージ (FBO) からのビットマップの抽出は高速であると思いますか? これらの画像を WFP に渡し、20 FPS で更新されるのを確認することについては、あまり確信が持てません。
これが合理的な方法であるかどうかを判断するのに役立つ具体的な経験はありますか?