4

有没有人对使用顶点缓冲区/4f颜色缓冲区绘制粒子在opengl中对从喷气发动机(带加力燃烧室)出来的粒子流进行近似编码有任何指导?

我认为这个问题有两个方面:

  1. 作为粒子离开喷气发动机的光的颜色是温度和与燃烧气体类型相关的一些常数的函数。这篇文章让我相信我需要某种温度/颜色转换曲线的数组。显然,氢气在氧气中的燃烧温度为 2,660C,在空气中的燃烧温度为 2,045C,而喷气燃料在空气中的燃烧温度为 287.5C。(但喷气式战斗机加力燃烧室的温度可以达到1700C)

  2. 火箭/喷气机后面的蒸气轨迹,如果火箭在大气层中,则水基蒸气轨迹为白色,带有 alpha。我也相信我的假设是正确的,这对于在太空中燃烧燃料的火箭来说是不必要的。蒸汽轨迹将模拟为比可见光波长大得多的微小水滴,因此它们会以消色差的方式散射光。由于水本身是无色的,因此产生的颜色会是白色吗?

此外,我希望从鸟瞰的角度对此进行建模,因此它不需要是完整的 3D 模型。因此,例如,加力燃烧室锥体周围的 10 个左右指示灯的位置可以近似为 5 个线性点。

4

1 回答 1

3

根据您需要的详细程度,您可能希望简单地使用从尚未引擎出来的纹理圆锥。如果你想要一个完整的粒子系统(对于喷气发动机来说,这对我来说似乎没有必要),那么你可能想要为堆栈中的每个粒子提供一堆属性,如速度 (vec3)、大小、气体类型和年龄。

每次游戏循环进行时,制作一个循环来处理每个粒子。对于每个滴答声,您的模拟将随着粒子变老而改变速度和大小。您应该创建一个函数,根据粒子的年龄和气体类型确定粒子的外观。

最简单地说,这可以使有色粒子随着年龄的增长而褪色、扩大和减速。这是你想要的?

于 2010-03-07T00:48:32.030 回答