是否有人对使用顶点缓冲区/ 4f颜色缓冲区使用粒子绘制在opengl中使用喷射引擎(使用加力燃烧室)的粒子流进行近似编码有任何指导?
我认为这个问题有两个方面:
作为颗粒的光的颜色作为温度的函数离开喷气发动机,并且一些常数与燃烧的气体类型有关。 This article让我相信我需要某种温度/颜色转换曲线的数组。显然氢气在2,660℃的氧气和2,045℃的空气中燃烧,而喷气燃料在287.5℃的空气中燃烧。 (但喷气式战斗机加力燃烧室的温度可能会达到170℃)
如果火箭在大气层中,火箭/喷气式飞机后面的蒸汽痕迹将是白色的,用于水基蒸汽尾迹的α。此外,我相信我的假设是正确的,这对于在太空中燃烧火箭的燃料来说是不必要的。蒸汽痕迹将被模拟为微小的水滴,其远大于可见光的波长,因此它们会以无色的方式散射光。由于水本身是无色的,因此产生的颜色会变白?
此外,我希望从鸟瞰角度对其进行建模,因此它不需要是完整的3D模型。因此,例如围绕加力燃烧室锥体的10个左右的导向灯的位置可以近似为5个线性点。
答案 0 :(得分:3)
根据您需要的细节程度,您可能希望简单地使用从引擎中出来的纹理锥体。如果你想要一个完整的粒子系统(喷气发动机对我来说似乎没有必要)那么你可能想给堆栈上的每个粒子一些属性,如速度(vec3),大小,气体类型和年龄。
每次游戏循环时,制作一个循环来处理每个粒子。对于每个刻度线,随着粒子变老,您的模拟将改变速度和大小。您应该根据其年龄和气体类型制作一个确定颗粒外观的功能。
最简单的是,随着年龄的增长,这会使有色颗粒褪色,放大和减速。这是你在找什么?