Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Процессор постэффектов (4 стр)

Процессор постэффектов (4 стр)

Поделиться

Страницы: 1 2 3 4 5 Следующая

barnesПостоялецwww4 окт. 201710:52#45
Ну на свою реализацию я ссыль выше дал. В динамике выглядит убойно
Daniil PetrovПостоялецwww4 окт. 201711:06#46
barnes
Довольно огромный код для обычного шума :)
boolПостоялецwww4 окт. 201711:07#47
Daniil Petrov
Ты можешь сгенерировать текстуру шума в коде один раз, а потом делать выборку из нее.
Daniil PetrovПостоялецwww4 окт. 201711:18#48
bool
А проще не?
nonamezeroxПостоялецwww4 окт. 201711:41#49
Daniil Petrov

А там сложно разве?

Довольно огромный код для обычного шума :)

Дык там еще и тонокоррекция, чтобы как в довоенном цветном кинематографе было (функции Technicolor1 и 3, как раз и имитируют версии киносъемочного процесса Technicolor 1917 и 1928 года, как в  "Унесенных Ветром", довоенных мультах диснея  и американской кинохронике второй мировой, Sepia - "черно-белый")

Правка: 4 окт. 2017 11:50

Daniil PetrovПостоялецwww4 окт. 201711:48#50
nonamezerox
Ну по крайней мере перебрал кучу функций, выдают только серый экран, что им нужно скармливать, сам бы дядя Кармак знал!
nonamezeroxПостоялецwww4 окт. 201712:04#51
Daniil Petrov
>
> Ну по крайней мере перебрал кучу функций, выдают только серый экран, что им
> нужно скармливать, сам бы дядя Кармак знал!

А ты не перебирай. Ты возьми код, который дал тебе barnes и начни его вдумчиво читать. Посмотри сначала, там,  на входные параметры,

layout (binding = 0) uniform sampler2DRect u_ScreenTex; //изображение, которое постпроцессим.

uniform vec4  u_params;  // x компонента юниформа - тип фильтра : 1 -цветно  technicolor 1917 года ; 2 - цветной technicolor 1928 года ; 3 - церно-белый sepia
              // y компонента юниформа - интенсивность шума
              // z компонента юниформа  - интенсивность царапин
              // w - размер виньетки вокруг кадра
uniform vec2  u_screenSize // размер экрана;
uniform float  u_rand //seed генератора случайных чисел (то что ты обычно передаешь в функцию srand);
uniform int    u_time //время;

Далее, пользуемся охренительными имба-комбинацией Ctrl-F, перед этим выделив каждый из входных параметров и смотрим где они имеются. Если текстовый редактор нормальный, то он скорее всего  умеет сразу все совпадения подсвечивать. Далее, смотрим места где они используются, если есть функции - то тем же способом ищем их содержимое.

И все, любимый способ профессора Мориарти - индукция - это имбовейший способ разобраться в том, что не понимаешь.

Правка: 4 окт. 2017 12:06

barnesПостоялецwww4 окт. 201712:46#52
nonamezerox
> Sepia - "черно-белый")
Ну если только в кавычках. )))
boolПостоялецwww4 окт. 201714:04#53
Daniil Petrov
> bool
> А проще не?
а в этом-то чего сложного? это вполне нормальный способ, не хуже и не лучше других, а просто еще один)
barnesПостоялецwww4 окт. 201714:55#54
nonamezerox
> (то что ты обычно передаешь в функцию srand);
у меня там crand() ))
nonamezeroxПостоялецwww4 окт. 201716:58#55
barnes

Именно в кавычках, да.

Daniil PetrovПостоялецwww14 окт. 20172:39#56
И всё таки я не пойму, почему вместо шума у меня выходит серый экран без малейшего намёка на него.
Если я передаю в качестве аргумента текстурную координату, выходит градиент :)
Подскажите, пожалуйста, что я делаю не так??? Мне что, нужно передавать шейдеру случайное число, чтобы он справился с этой функцией?!! :)))
Мне не надо навороченных функций, мне нужен простой чёрно-белый шум, который я уже сам буду накладывать на картинку.
barnesПостоялецwww14 окт. 20177:48#57
если формула рабочая, значит косяк с текс коордами шума
Daniil PetrovПостоялецwww14 окт. 20178:14#58
barnes
А что ему вообще нужно скармливать? В обычных рандомах задаётся предел, а тут что задавать?
Как я понял, тут не случайное, не псевдослучайное число не вырабатывается...
Пробовал Generic Noise: https://gist.github.com/abc00/082b5103b0d90145c00b
barnesПостоялецwww14 окт. 20179:18#59
Да  crand сойдет

Страницы: 1 2 3 4 5 Следующая

/ Форум / Программирование игр / Графика

2001—2017 © GameDev.ru — Разработка игр