2009-05-15 10 views
3

私は非常に単純な3Dパーティクルソフトウェアレンダリングシステムを作成していますが、私はパーティクルシステムとラスタライザのコーディングに興味があります。 3次元パーティクル座標からカメラ、スクリーン座標、しかし変数FOVのような機能、およびカメラをターゲットとした(見る)ための最も簡単な方法です。C++に関する推奨事項対象のカメラ付き3Dベクトル/マトリックスライブラリ

ポイントからポイントまでの距離、境界線のボリュームなどの追加機能は、ボーナスになりますが、使いやすさは機能よりも重要です。

唯一のライセンス要件は、ビールのように無料であることです。

答えて

2

おそらくシーングラフライブラリが必要です。多くのC++シーングラフライブラリが存在します。 OpenScenegraphは普及していますが、Coin3D(非商用では無料)はOpenInventor仕様の実装であり、最先端のサポートが必要なようには聞こえません。 Panda3Dもあります。あなたがPythonを使っているなら、聞いたことがあります。

OpenGLのようなまっすぐな低レベルのツールキットでこれを行うことはできますが、事前の経験がなければ、OpenGLの使用に関するシーングラフライブラリよりも手間がかかります。

シーングラフライブラリーを選択すると、好みのAPIに合わせて個人的な好みになってしまうでしょう。

1

表示は、モデル変換が行われるのと同じ方法で、基本変換で行われます。 GLUのgluLookAt()のような便利な関数が必要な場合は、わかりませんが、自分で作るのは簡単でしょう。

あなた自身のLook At関数などを作成したい場合は、eigenを使用することをお勧めします。これはC++用の線形代数ライブラリです。

1

パーティクルシステムのレンダリング部分だけに焦点を絞ろうとしているのであれば、確立された3Dレンダリングライブラリを使用します。

Irrlichtのソフトウェアレンダラーの片方または両方にパーティクルラスタライズを追加することをお勧めします。これのもう1つの利点は、すでに存在するDX/OGLパーティクルエフェクトレンダラーと結果を比較できることです。すべての配管/カメラ管理/ etcがあなたのために行われます。

関連する問題