Хмм, пока изучал код партикл-движка oxid-а появилась мысль создать нечто такое же. Суть такая, что есть некая система модификаторов, которые воздействуют на частицы, можно применять сразу несколько, а можно ни одного не применять. Покажу в коде:
for local modificator:TModificator = eachin my_modificatorsList
for local particle:TPartcle = eachin my_particlesList
modificator.apply( particle )
next
next
сам же TModificator абстрактен и от него наследуются все модификаторы с методом apply(part:TParticle) , которые воздействуют на частицу в зависимости от необходимого эффекта, например чтоб действовал ветер пишем
type TWind extends TModificator
field force:float
field direction:int
method apply( particle:TParticle )
particle.x :+ (force * direction)
end method
end type
типа такого, вот думаю будет ли тормозить....