2017-12-25 18:41:16 +01:00
|
|
|
#version 450 core
|
|
|
|
|
|
|
|
//! type compute
|
2017-12-25 20:39:56 +01:00
|
|
|
|
|
|
|
layout(
|
|
|
|
local_size_x = 8 ,
|
|
|
|
local_size_y = 64
|
|
|
|
) in;
|
|
|
|
|
2017-12-25 18:41:16 +01:00
|
|
|
//! include chunks/dof-cs.glsl
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
ivec2 coords = ivec2( gl_GlobalInvocationID.xy );
|
|
|
|
vec2 uv = vec2( coords ) / uResolution;
|
|
|
|
vec2 blurvec = vec2( 0 , 1 ) / uResolution;
|
|
|
|
|
|
|
|
float z = textureLod( u_Input , uv , 0 ).w;
|
|
|
|
vec3 c = DOF_Blur( z , DOF_CoC( z ) , uv , blurvec );
|
|
|
|
imageStore( u_Output , coords , vec4( c , z ) );
|
|
|
|
}
|