Создать молнию в OpenGL ES 1.1 - PullRequest
       36

Создать молнию в OpenGL ES 1.1

4 голосов
/ 13 февраля 2009

Мне нужно создать красивую молнию, используя OpenGL ES 1.1 (iPhone), и я планировал использовать шейдеры. Однако, когда я спросил об этом в предыдущем вопросе ( OpenGL ES 1.x Shaders ), мне сообщили, что это, вероятно, не вариант на iPhone.

Так что теперь я вернулся на круги своя, задаваясь вопросом, как я могу сделать молниеносную анимацию. Это не должно выглядеть ультра-реалистично. Я уже пытался использовать такие вещи, как треугольники, разделенные вместе. Хотя этот метод работает, он не так хорош, как я надеялся, будет выглядеть.

У кого-нибудь есть идеи на эту тему?

Еще раз спасибо,
~ Eric

Ответы [ 5 ]

4 голосов
/ 13 февраля 2009

Попробуйте использовать треугольную полосу, текстурированную с градиентом от черного до низкого насыщенного синего или фиолетового до белого. Установите смешивание на добавку (GL_SRC_ALPHA, GL_ONE).

2 голосов
/ 24 июля 2010

Обычный подход состоит в том, чтобы вычислить путь молнии с помощью функции Perlin, преобразовать его в буфер свечения, создать красивое размытие с помощью гауссовского размытия и затем объединить его со своей сценой.

2 голосов
/ 13 февраля 2009

Вы можете адаптировать код из этого проекта . Хотя это не ObjC / C, он использует OpenGL.

Здесь - статья, которая более подробно описывает эффект и предоставляет реализацию VB / DirectX.

0 голосов
/ 13 февраля 2009

Должен ли быть очень яркий свет, чтобы он выглядел как молния, и вам не нужно было бы зажечь свет на чем-то или сквозь что-то?

0 голосов
/ 13 февраля 2009

Может быть, я что-то упускаю, но что не так с простым использованием glLight() и фиксированной функциональностью, как у всех?

...