Я хочу переместить мои частицы несколькими атрибутами. Частицы должны замедлиться до остановки, как они достигают конца своей жизниДвижение частиц вершинного шейдера
result = a_pos + a_direction * lifetime * mix(a_speed, a_speed_end, normalized_lifetime);
result.w = 1.0;
gl_Position = u_projection * u_model_view * result;
Это не работает, как я надеялся, что это будет, потому что он не учитывает предыдущие движения, поэтому, когда normalized_lifetime достигает 1, частица в основном установлена на a_pos снова, так как a_speed_end равно 0. Как мне это сделать?
EDIT: Дополнительная информация:
a_pos = StartPosition
a_direction = нормализованное направление вектора
срок службы = текущее время жизни частицы
a_speed, a_speed_end = желаемого начала/конца скорости
Они должны двигаться по прямой вдоль вектора направления, без обновлений ЦП
Как перемещаются ваши частицы? По прямой? Случайно? Включены ли обновления процессора? –
Какую версию OpenGL вы настраиваете? – genpfault
iOS OpenGL ES 2.0 – cboe