cutscene WTF
This commit is contained in:
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 4.2 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
@@ -0,0 +1,53 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
in vec2 i_uv_out;
|
||||||
|
|
||||||
|
out vec4 o_fragColor;
|
||||||
|
|
||||||
|
uniform sampler2D u_texture;
|
||||||
|
uniform vec4 u_tint;
|
||||||
|
uniform vec3 u_color_offset;
|
||||||
|
uniform float uIntensity;
|
||||||
|
uniform float u_intensity;
|
||||||
|
|
||||||
|
const int RADIUS = 4;
|
||||||
|
|
||||||
|
float gaussianWeight(vec2 offset, float sigma)
|
||||||
|
{
|
||||||
|
float dist = dot(offset, offset);
|
||||||
|
return exp(-dist / (2.0 * sigma * sigma));
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
float intensity = max(max(uIntensity, u_intensity), 0.0);
|
||||||
|
vec2 texelSize = 1.0 / vec2(textureSize(u_texture, 0));
|
||||||
|
|
||||||
|
if (intensity <= 0.001) {
|
||||||
|
vec4 texColor = texture(u_texture, i_uv_out);
|
||||||
|
texColor *= u_tint;
|
||||||
|
texColor.rgb += u_color_offset;
|
||||||
|
o_fragColor = texColor;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
float sigma = max(intensity * 2.0, 0.001);
|
||||||
|
vec4 color = vec4(0.0);
|
||||||
|
float totalWeight = 0.0;
|
||||||
|
|
||||||
|
for (int y = -RADIUS; y <= RADIUS; ++y) {
|
||||||
|
for (int x = -RADIUS; x <= RADIUS; ++x) {
|
||||||
|
vec2 kernelOffset = vec2(float(x), float(y));
|
||||||
|
float weight = gaussianWeight(kernelOffset, sigma);
|
||||||
|
vec2 sampleOffset = kernelOffset * texelSize * intensity;
|
||||||
|
|
||||||
|
color += texture(u_texture, i_uv_out + sampleOffset) * weight;
|
||||||
|
totalWeight += weight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
vec4 texColor = color / totalWeight;
|
||||||
|
texColor *= u_tint;
|
||||||
|
texColor.rgb += u_color_offset;
|
||||||
|
o_fragColor = texColor;
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#version 330 core
|
||||||
|
|
||||||
|
layout (location = 0) in vec2 i_position;
|
||||||
|
layout (location = 1) in vec2 i_uv;
|
||||||
|
|
||||||
|
out vec2 i_uv_out;
|
||||||
|
|
||||||
|
uniform mat4 u_transform;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
i_uv_out = i_uv;
|
||||||
|
gl_Position = u_transform * vec4(i_position, 0.0, 1.0);
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 129 KiB |
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 82 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 MiB |
Binary file not shown.
Reference in New Issue
Block a user