Плазменный шейдер OpenGL ES 2.0 - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь написать и OpenGL ES 2.0 шейдер, который сделает 2D плоскость плазмоподобной поверхностью.Я стремлюсь к чему-то похожему на эффекты в этих коротких видео ...

http://www.youtube.com/watch?v=XM7imVtakZk

http://www.youtube.com/watch?v=5NQi45V5Y6o

Мне не нужен именно такой видрендеринг, но в целом я стараюсь рендерить мою 2D-плоскость с какой-то движущейся плазмоподобной поверхностью.Он не должен выглядеть потрясающе и не должен вести себя очень плавно, только то, что имеет движение и красиво смешанные цвета, как в видео.Мне нужно, чтобы этот эффект был быстрым, и я подумал, что использование шейдеров на 2D-плоскости не должно сильно повлиять на производительность (если большинство эффектов можно выполнить в шейдере).Мне не нужен шейдер, написанный для меня (хотя код приветствуется), я просто ищу совет о том, что искать для не слишком сильного эффекта производительности, такого как этот, для 2D-плоскости.Если есть путаница относительно точного эффекта, которого я добиваюсь, это видео близко, но, вероятно, более продвинутое, чем мое, должно быть ...

http://www.youtube.com/watch?v=dcS12sDIhIQ&feature=related

Ответы [ 2 ]

1 голос
/ 18 июня 2011

У Apple есть пример приложения GLSLShowpiece для Mac, который содержит шейдер, который создает эффект плазмы на основе пары предварительно рассчитанных текстур.Хотя шейдерная программа GLSL и предназначена для настольных компьютеров OpenGL, ее можно легко перенести на OpenGL ES 2.0.

0 голосов
/ 18 июня 2011

Потребовались дни исследований и экспериментов, но я смог добиться именно того эффекта, который мне был нужен, используя перлин-шум.Я генерирую трехмерный перлин-шум на GPU в фрагментном шейдере для плоскости 2 треугольника.Изменяя цвета, уровень масштабирования и интенсивность, я могу получить желаемые визуальные эффекты очень быстро.Некоторые изображения из моих результатов ниже для сравнения с приведенными выше примерами.

3D Perlin Noise 3D Perlin Noise 3D Perlin Noise

...