Jarvis, Optimise my shit
This commit is contained in:
parent
d1abde919d
commit
9424b29d0a
50 changed files with 1469 additions and 1232 deletions
|
|
@ -0,0 +1,34 @@
|
|||
#version 450
|
||||
|
||||
layout(location = 0) in vec2 inTextCoord;
|
||||
layout(location = 0) out vec4 outBloomColour;
|
||||
layout(set = 0, binding = 0) uniform sampler2DMS inputTexture;
|
||||
|
||||
layout(push_constant) uniform PassConfig {
|
||||
int horizontal;
|
||||
float GAMMA_CONST;
|
||||
float Exposure;
|
||||
float blur_radius;
|
||||
vec2 bloomSize;
|
||||
} config;
|
||||
|
||||
vec3 extractBloom(vec2 uv) {
|
||||
ivec2 size = textureSize(inputTexture);
|
||||
ivec2 pixel = clamp(ivec2(uv * vec2(size)), ivec2(0), size - 1);
|
||||
int samples = textureSamples(inputTexture);
|
||||
vec3 color = vec3(0.0);
|
||||
for (int i = 0; i < samples; i++) color += texelFetch(inputTexture, pixel, i).rgb;
|
||||
color = max(color / float(samples), vec3(0.0));
|
||||
float brightness = dot(color, vec3(0.2126, 0.7152, 0.0722));
|
||||
float contribution = max(brightness - 1.0, 0.0);
|
||||
return color * (contribution / (contribution + 0.5));
|
||||
}
|
||||
|
||||
void main() {
|
||||
vec2 offset = 0.25 / config.bloomSize;
|
||||
vec3 bloom = extractBloom(inTextCoord + vec2(-offset.x, -offset.y))
|
||||
+ extractBloom(inTextCoord + vec2( offset.x, -offset.y))
|
||||
+ extractBloom(inTextCoord + vec2(-offset.x, offset.y))
|
||||
+ extractBloom(inTextCoord + vec2( offset.x, offset.y));
|
||||
outBloomColour = vec4(bloom * 0.25, 1.0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue