私はOpenGLを初めて使用します。
OpenGLに適したScenegraphAPI/フレームワークがあるかどうか疑問に思います。
現在、カスタムノードベースのソリューションでglutを使用しています。トラバース関数を呼び出す各ノードの子と兄弟を設定しています。
シーン内の動的要素の管理に関しては、より柔軟なソリューションが必要です。
私はOpenGLを初めて使用します。
OpenGLに適したScenegraphAPI/フレームワークがあるかどうか疑問に思います。
現在、カスタムノードベースのソリューションでglutを使用しています。トラバース関数を呼び出す各ノードの子と兄弟を設定しています。
シーン内の動的要素の管理に関しては、より柔軟なソリューションが必要です。
SDLは過剰というよりも少し最新ですが、シーナリーを管理するために独自のグラフ構造を展開するという正しい方向に進んでいます。利用可能なフレームワークはたくさんあります。たとえば、OpenSceneGraphはかなり前から存在しています。OGREにも多くの支持者がいます。ただし、DirectX やソフトウェア レンダラーも利用できるため、厳密には OpenGL ライブラリではありません。
Binary space partitioning、quadtrees / octrees、およびkd-treesなどの関連トピックを調べたい場合があります。
openscenegraph が素晴らしいシーングラフであることに同意します。これは C++ で書かれており、他のいくつかの言語へのバインドがありますが、私の知る限り、.NET にはバインドされていません。私たちは普通の古いopengl以上のものを使用する状況にあり、管理されたdirectx、xna、wpf、およびopenglを検討していました。Tao.OpenGL に基づいて独自のシーングラフを opengl として作成することにしました。
カリングおよびレンダリング段階の前に更新段階を設けることで、動的オブジェクトを実現できます。マルチスレッドを行う場合は、更新段階に注意する必要があります。
OpenSceneGraph の使用は 2 番目 (3 番目?) です。堅牢でクロス プラットフォームであり、Qt とうまく統合されます (OpenSceneGraph と Qt を一緒に使用して、MacOS、Windows、および Linux でアプリケーションを実行します)。ドキュメンテーションは商用オプションほど洗練されていないかもしれませんが、購入できる本 (および無料のクイック スタート ガイド) は本当に役に立ちます。