0

2D グラフ レイアウトを視覚化するために、比較的単純なベクトル形状 (円、円弧、または角丸四角形) を大量 (数十または数十万) 描画できる高性能ライブラリを探しています。

アニメーションの開始と停止のジオメトリのみを転送し、GPU で補間アニメーションを「生成」できるようにしたいと考えています。

各フレームで、グローバル補間パラメーターを通常 0 から 1 に更新するだけで、CPU から GPU へのデータ量を最小限に抑えたいと考えています。

これを OpenGL に基づいて作成したいので、Vertex Buffer Objects (VBO) を選択する必要があると思います。

私が選んだ言語は C++11 で、プラットフォームは Ubuntu 12.10 です。

高品質のテキストを図形と一緒に重ねることができることは、大きなプラスです.

どのライブラリ/API をお勧めしますか?

oglplus は良い候補だと思いますが、私のタスクに対してレベルが低すぎるかどうかはわかりません。

4

2 に答える 2

5

もしあなたが OpenGL の初心者なら、道に沿っていくつかの問題にぶつかるでしょう。これは完全に実行可能ですが、高度なトリックが必要です。あなたが必要

  • インスタンス化
  • 各インスタンスの ID によってインデックス付けされたアニメーション コントロール ポイントを保持する「テクスチャ」から取得した値に基づく、頂点シェーダーでの曲線補間
    • より複雑な動きに対してカーブ補間を機能させるには、カーブをセグメント (またはパッチ) に分割し、それらにもインデックスを付けることができなければなりません。

インスタンス化に取り組む前に、少なくとも OpenGL を使用して単純な形状を描画する方法と、頂点シェーダーを作成する方法を知っておく必要があります。難しいことではありませんが、最初に実行すると、通常、いくつかのインデックスを見逃しているため、奇妙な結果が得られます。

どのライブラリ/API をお勧めしますか?

そのようなライブラリの使用がカーゴ カルト プログラミングで終わらないように、必要な知的ツールを最初に学習することをお勧めします。

あなたが必要

  • 線形代数
  • 多変量解析
  • 非線形補間
    • 多項式
    • ベジエ スプライン
  • クォータニオン (球面線形補間用)
于 2013-01-14T00:09:57.500 に答える
1

ここですでに述べたことを超えて、NVidiaカードをターゲットにする場合は、NVidiaパス拡張を確認する必要があります。これにより、基本的に、三角測量などを必要とせずに、GPUにベクトル形状を直接ロードしてレンダリングできます。このプロセスには固定パイプラインを使用する必要があります(最新のOpenGLを使用する場合は、プロファイルを互換性に設定します)。ただし、利点は、使いやすさと解像度の独立性です。

于 2013-01-14T07:45:59.967 に答える