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

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

Поделиться

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

Daniil PetrovПостоялецwww3 окт. 201714:59#30
Andrey
У меня эта ссылка есть, но я примерно пробежался взглядом и решил реализовать всё сам, так как здесь-то как раз всё очень просто, потом нужно будет только разобраться, для чего нужен мультипасс и какие эффекты в каких проходах накладываются.

Ребята, вопрос ко всем - есть ссылка на RGB-значения фотографических фильтров? Обычных, которые навинчиваются на объектив :) я никак не могу нагуглить.

Правка: 3 окт. 2017 15:00

MisanthropeПостоялецwww3 окт. 201715:22#31
Профессор постэффектов
barnesПостоялецwww3 окт. 201716:43#32
Daniil Petrov
> Нет случайно ссылок на формулы или код эффектов контрастности и насыщенности
> (Saturation)?
С тебя пиво
vec3 BrightnesContrastSaturation(vec3 color, float brt, float con, float sat)
{
  const float AvgLumR = 0.5;
  const float AvgLumG = 0.5;
  const float AvgLumB = 0.5;
  
  const vec3 LumCoeff = vec3(0.2125, 0.7154, 0.0721);
  
  vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB);
  vec3 brtColor = color * brt;
  vec3 intensity = vec3(dot(brtColor, LumCoeff));
  vec3 satColor = mix(intensity, brtColor, sat);
  vec3 conColor = mix(AvgLumin, satColor, con);
  return conColor;
}

barnesПостоялецwww3 окт. 201716:46#33
0xc0de
> Сто раз уже пережевывалось...
Я знаю, что это значения для NTSC, но результат весьма неплох. Для колор коррекции я правильную луму использую.
Daniil PetrovПостоялецwww3 окт. 201717:21#34
barnes
> С тебя пиво
Да тут одним пивом не отделаешься :))) сразу три в одном!

А действительно GLSL очень схож с C с примесью GLM :)

Правка: 3 окт. 2017 17:40

Daniil PetrovПостоялецwww3 окт. 201718:02#35
Вот ещё вопрос - выбрал простенький шум:
float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p)
{
  float fl = floor(p);
  float fc = fract(p);
  return mix(rand(fl), rand(fl + 1.0), fc);
}
но он какой-то серенький, еле заметный, значение практически 0.5 :) как мне законтрастить его до 0.0 и 1.0?

Правка: 3 окт. 2017 18:04

AndreyПостоялецwww3 окт. 201720:39#36
Daniil Petrov
Ты можешь из коробки сделать готовый набор пост эффектов, гибкая загрузка из файла никак этому не помешает.
boolПостоялецwww3 окт. 201721:33#37
Daniil Petrov
ну если он у тебя от 0 до 0.5, то умножить на 2 :-)
Daniil PetrovПостоялецwww3 окт. 201723:44#38
bool
Он получается 0.5 ± еле_различимая_перхоть :)
Daniil PetrovПостоялецwww4 окт. 20173:48#39
Дилетантский вопрос :))) а фрагмент - это пиксель текстуры? :)
nonamezeroxПостоялецwww4 окт. 20178:03#40
Daniil Petrov
Фрагмент - это кандидат в пиксели, скажем так. То, что пришло с растеризатора и тот , чья мечта стать пикселем на экране/в текстуре при рендеринге в нее может в любой момент быть загублена на корню безжалостной рукой discard'a или не менее безжалостными z  и stensil буферами. И при антиалиасинге тоже на краях делается несколько фрагментов меньшего размера, которые затем смешиваются в один реальный и не иллюзорный пиксель.

Правка: 4 окт. 2017 8:09

barnesПостоялецwww4 окт. 20179:56#41
Шум говоришь? Игрался помнится с ним, перебрал несколько, остановился на этом
https://sourceforge.net/p/quake2xp/code/HEAD/tree/glsl/filmGrain.fp

Правка: 4 окт. 2017 9:56

Daniil PetrovПостоялецwww4 окт. 201710:36#42
Я понял, почему все функции шума выдают серый фон - всё зависит от входных данных.
Решил попробовать скормить ему текстурную координату и получил градиент! Градиент, Карл!!!
Это что же, им надо скармливать случайное число? А нах... зачем мне тогда функция шума???
barnesПостоялецwww4 окт. 201710:44#43
Ну я хз зачем тебе шум. Я его для эффекта киноплёнки использую
Daniil PetrovПостоялецwww4 окт. 201710:49#44
barnes
То же самое, но я его никак не могу получить :))) для начала нужен хотя бы ч/б, а для настоящего эффекта киноплёнки потом уже нужен будет цветной.
Хотя и ч/б можно много, где использовать, например, в Сталкере и Чёрной Мезе им показывают уровень радиации.

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

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

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