28 lines
698 B
GLSL
28 lines
698 B
GLSL
layout(location = 0) in vec2 inUV;
|
|
layout(location = 1) in flat ivec2 inPixel;
|
|
layout(location = 2) in float depth;
|
|
|
|
layout(location = 0) out vec4 outColor;
|
|
|
|
layout(rgba32f, binding = 0) uniform image2D color_sampler;
|
|
layout(binding = 3) uniform sampler2D aperture_sampler;
|
|
|
|
layout(push_constant, binding = 2) uniform readonly PushConstant{
|
|
vec4 params;
|
|
};
|
|
|
|
void main() {
|
|
// far field mode
|
|
if(params.y == 0) {
|
|
if(depth < 0.98)
|
|
discard;
|
|
}
|
|
|
|
if(inUV.y > 1.0 || inUV.x > 1.0)
|
|
discard;
|
|
|
|
outColor = vec4(imageLoad(color_sampler, inPixel).rgb, 1.0);
|
|
if(params.y == 0) {
|
|
outColor = outColor * texture(aperture_sampler, inUV);
|
|
}
|
|
}
|