А ты уже научился заряжать левой ногой свой телефон?
Разбирался как эти частицы устроены - оказалось просто: либо множество точек с текстурами, либо можно сделать полигонами с текстурами. В движке sio2 уже есть каркас для источников частиц, передаешь ему указатель на функции: создания и обновления частиц и в них прописываешь всю логику.
Основная особенность - это настройка Blend-инга чтобы он складывал цвета а не отображал каждую частицу саму по себе - в итоге получается плавающий белый цвет в центре огня

Основная особенность - это настройка Blend-инга чтобы он складывал цвета а не отображал каждую частицу саму по себе - в итоге получается плавающий белый цвет в центре огня

Это как ? точка это-ж бесконечно малое о_О куда ему еще и текстуру ?
glEnable( GL_POINT_SPRITE_OES )
при этом выводится текстура того размера которого была загружена (как я понял) и размер точки никак не влияет на размер частицы. В итоге ее не повращаешь и не отмасштабируешь ( если z координату не менять )), но наверно так быстрее работать будет.