2010-03-05 4 views
4

Есть ли у кого-нибудь указания по кодированию приближения для потока частиц, выходящего из реактивного двигателя (с форсажем) в opengl, используя рисование частиц с использованием буферов вершин/4-цветных буферов?opengl моделирование ракетного пламени и паровых дорожек с частицами

Я считаю, что существуют два аспекта этой проблемы:

  1. Цвет света, как частицы выхода из реактивного двигателя в зависимости от температуры и некоторых констант, относящихся к типу газа сжигается. This article заставляет меня думать, что мне понадобится какой-то массив для кривой изменения температуры/цвета. Вероятно, водород горит при 2660 ° С в кислороде и 2045 ° С на воздухе, тогда как реактивное топливо горит при 287,5 ° С на воздухе. (но температура дожигателя реактивного истребителя может до некоторой степени достигать 1700 ° C)

  2. Паровая дорожка за ракетой/стеной, которая будет либо белой, либо альфа для водяного пара, если ракета находится в атмосфере. Также я считаю, что мое предположение верно, что это не было бы необходимо для ракет, сжигающих топливо в космосе. Паровая тропа будет моделироваться как крошечные капли воды, которые намного больше длины волны видимого света, поэтому они будут рассеивать свет ахроматически. Поскольку сама вода бесцветна, получившийся цвет будет белым?

Также я ищу модель этой перспективы с точки зрения птиц, поэтому она не обязательно должна быть полной 3D-моделью. Таким образом, позиции 10 или около того пилотных огней вокруг конуса дожигателя, например, могут быть просто аппроксимированы, как может быть, 5 линейными точками.

ответ

2

В зависимости от уровня детализации, который вам требуется, вы можете просто использовать текстурированный конус, выходящий из еще движка. Если вы хотите пойти на полномасштабную систему частиц (которая для реактивного двигателя мне кажется не нужна), вы можете захотеть дать каждой частице в стеке множество свойств, таких как скорость (vec3), размер, тип газа и возраст.

Сделайте цикл, чтобы обрабатывать каждую частицу каждый раз, когда ваш игровой цикл перемещается. Для каждого тика ваша симуляция затем изменит скорость и размер, когда частица станет старше. Вы должны выполнять функции, определяющие внешний вид частицы в зависимости от возраста и типа газа.

В простейшем случае это может привести к постепенному исчезновению цветных частиц, увеличению и ускорению по мере старения. Это то, что вы ищите?

+0

Да, я надеялся, что у кого-то есть представление о температурной кривой цвета :) – PeanutPower

+0

@Svenstaro Спасибо за текстурированную идею конуса! (Я сам начал играть с частицами, и это был тупик для кого-то, у кого не было и GL, и физического мастерства). –