Вопрос Как сделать Bloom эффект

Начинающий
Статус
Оффлайн
Регистрация
1 Ноя 2023
Сообщения
55
Реакции[?]
3
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Кто может подсказать как делается bloom эффект имея шейдер ?
bloom.glsl:
#version 120
                      
uniform sampler2D sampler1;
uniform sampler2D sampler2;
uniform vec2 texelSize;
uniform vec2 direction;
uniform float radius;
uniform float kernel[64];
                      
void main(void)
{
vec2 uv = gl_TexCoord[0].st;
                      
if (direction.x == 0.0 && texture2D(sampler2, uv).a > 0.0) {
discard;
}
                      
vec4 pixel_color = texture2D(sampler1, uv);
pixel_color.rgb *= pixel_color.a;
pixel_color *= kernel[0];
                      
for (float f = 1; f <= radius; f++) {
vec2 offset = f * texelSize * direction;
vec4 left = texture2D(sampler1, uv - offset);
vec4 right = texture2D(sampler1, uv + offset);
left.rgb *= left.a;
right.rgb *= right.a;
pixel_color += (left + right) * kernel[int(f)];
}
                      
gl_FragColor = vec4(pixel_color.rgb / pixel_color.a, pixel_color.a);
}
 
Сверху Снизу