Народ, при всей моей безграничной
Народ, при всей моей безграничной умственной мощи в ней есть как минимум одна большая прореха в области шейдеров. Я сейчас работаю над допиливанием демки проекта DeadStar и хочу поюзать шум для обозначения пограничных к «туману войны» зон. В целом у меня получилось, но пока что я использую преренедрённый шум сделанный фотошопом из нескольких кадров спрайта. Выглядит очень дёргано и раздражающе. Я хочу использовать шейдер для генерации текстуры шума. Но всё не так просто, мне нужно два шейдера:
1) Шейдер, который будет рисовать мне текстуру облаков аля фотошоп. Как я понял — это Perlin Noise. Но мне нужна управляемая генерация, чтобы я мог рулить параметрами и плавно менять очертания этих облаков с течением времени. Как я понял, там псевдогенерация, так что если скармливать один и тот же seed, но менять параметры то я получу те же самые облака, но немного другие так ведь?
2) Шейдер статического шума который будет имитировать помехи. По моей задумке он должен накладываться на сгенерированную выше текстуру.
Инфа которую я нарыл в инете по данному вопросу требует довольно много опытов и глубокого погружения, чтобы разобраться чё к чему.
В общем, если у кого есть под рукой подобные шейдеры — буду рад если поделитесь. Или может у кого есть под рукой инфа, как такой шейдер можно просто состряпать не особо погружаясь в запредельную математику языка шейдеров.
- 25 июня 2019, 09:36
- 03
Попробовал прикрутить вот это:
https://www.shadertoy.com/view/XsX3zB
Хуй, просто серый экран.
И вот это:
https://www.shadertoy.com/view/4ssXRX
Ну там ваще ахтунг. Да, генерация есть, но она какими-то явными паттернами о чём я писал выше. Нужно на основе какой-то текстуры это делать.
Буду вечером ещё курить эту тему. Хотя с тем как шейдеры работают, какие параметры принимают и что возвращают я в целом разобрался. Математическая алгоритмика не для меня. И пока непонятно почему шейдеры на одном и том же стандарте GLSL ES в примере из веба работают одним образом, а прикрученные в гамак - совершенно по-другому.
На сколько я знаю, но могу сильно ошибаться, примеры в вебе построены на gles2 (как и игры на андроид). Гамак явно использует gles3. А второй и третий gles совсем не совместимы и работают по разному.
З. Ы. Если кто знает этому опроверждение, дайте знать