• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 460 core
2#extension GL_ARB_separate_shader_objects : enable
3#extension GL_ARB_shading_language_420pack : enable
4
5// includes
6
7#include "common/bloom_common.h"
8
9// sets
10
11#include "render/shaders/common/render_post_process_layout_common.h"
12
13layout(set = 1, binding = 0) uniform texture2D uTex;
14layout(set = 1, binding = 1) uniform texture2D uInputColor;
15layout(set = 1, binding = 2) uniform sampler uSampler;
16
17// in / out
18
19layout(location = 0) in vec2 inUv;
20
21layout(location = 0) out vec4 outColor;
22
23///////////////////////////////////////////////////////////////////////////////
24// bloom upscale
25
26void main()
27{
28    const vec2 uv = inUv;
29    vec3 color = bloomUpscale(uv, uPc.viewportSizeInvSize.zw, uTex, uSampler);
30    const vec3 baseColor = textureLod(sampler2D(uInputColor, uSampler), uv, 0).xyz;
31    const float scatter = uPc.factor.w;
32    color = min((baseColor + color * scatter), CORE_BLOOM_CLAMP_MAX_VALUE);
33
34    outColor = vec4(color, 1.0);
35}
36