使用 OpenGL C++中的粒子

Particles in C++ using OpenGL

本文关键字:粒子 C++ OpenGL 使用      更新时间:2023-10-16

我想使用 OpenGL 在 C++ 中启动一个基本的粒子系统。我为此编写了一个算法,但我不明白如何启动它。

我面临的问题是我可以打印位置和速度更新,但我不知道如何使用 OpenGL 直观地显示它。

我希望您正在尝试以下内容:

  • 有一个结构(C++结构或类)来表示粒子。该结构包含:

    • 粒子位置 (x,y,z)
    • 粒子速度(Vx、Vy、Vz)
    • 粒子加速(Ax,Ay,Az)//你可能也需要的东西。
    • 油漆功能来做颗粒的绘画。
  • 有一个这个结构的数组。根据需要初始化速度、位置和加速度。

  • 在单独的线程中(或在重新绘制事件中,用于启动),执行以下操作:

    • 对于每个粒子(数组中的元素),请执行以下操作:

      • particle[index].velocityX += particle[index].accelerationX
      • particle[index].velocityY += particle[index].accelerationY
      • particle[index].velocityZ += particle[index].accelerationZ

      • particle[index].locationX += particle[index].velocityX

      • particle[index].locationY += particle[index].velocityY
      • particle[index].locationZ += particle[index].velocityZ

      翻译成位置和油漆..

        使用 glTranslated(particle[index].locationX, particle[index].
      • locationY, particle[index].locationZ)