1

OpenGLを使用してC++で基本的なパーティクルシステムを開始したいと思います。そのためのアルゴリズムを作成しましたが、開始方法がわかりません。

私が直面している問題は、位置と速度の更新を印刷できることですが、OpenGLを使用して視覚的に表示する方法がわかりません。

4

1 に答える 1

4

以下の行で何かを試していただければ幸いです。

  • パーティクルを表す構造体 (C++ 構造体またはクラス) を持っています。構造には以下が含まれます。

    • 粒子の位置 (x、y、z)
    • 粒子速度 (Vx、Vy、Vz)
    • 粒子加速 (Ax、Ay、Az) //何か必要かもしれません..
    • パーティクルのペイントを行うペイント関数。
  • この構造の配列を持っています。必要に応じて、速度、位置、および加速度を初期化します。

  • 別のスレッドで (または再描画イベントで、起動用に) 次の操作を行います。

    • すべての粒子 (配列内の要素) に対して、次のことを行います。

      • 粒子[インデックス].速度X += 粒子[インデックス].加速度X
      • 粒子[インデックス].速度Y += 粒子[インデックス].加速度Y
      • 粒子[インデックス].速度Z += 粒子[インデックス].加速度Z

      • 粒子[インデックス].locationX += 粒子[インデックス].速度X

      • 粒子[インデックス].locationY += 粒子[インデックス].速度Y
      • 粒子[インデックス].locationZ += 粒子[インデックス].速度Z

      //場所に変換してペイント..

      • glTranslated(particle[index].locationX、particle[index].locationY、particle[index].locationZ) を使用
于 2012-05-28T05:38:58.910 に答える