Я хочу нарисовать систему частиц на Android, где частицы непрерывно текут из заданной точки. без шейдеров я могу получить это, проверяя на жизнь частицы. если жизнь равна нулю, тогда reset позиция к центру.
как добиться того же самого с шейдерами? Я взял переменную жизни, чтобы отслеживать, является ли частица живым. Как только частица мертва, я хочу, чтобы частица была перемещена вокруг указанной точки. это время жизни будет случайным для каждой частицы, есть ли способ, которым я могу добиться этого с помощью шейдеров?
чтобы сделать мой вопрос понятным, например, я хочу реализовать урок NeHe 19 (см. DrawGLScene урока 19) с шейдером....
Полный код моей работы можно найти ниже для справки
1) Нет шейдеров
2) С шейдерами
Thanx everyone,
я обнаружил решение после борьбы за полный день...
теперь я делаю все вычисления в вершинном шейдере в зависимости от времени
Я рассчитываю, что время у частицы будет умирать и мода с текущим временем даст измененный временной интервал...
в принципе, каждая частица снова будет жить своим временем жизни снова n
код можно найти по адресу каталог кодов Google
Thanq все для попытки решить мою проблему
Вы должны обновить LifeTime из партии в Draw при каждом розыгрыше, а затем передать его в шейдер с GLES20.glVertexAttribPointer
как "attribute float a_lifetime;
", например.
посмотрите на этот источник SOURCE