#version 450 layout (binding = 0) uniform ParameterUBO { float deltaTime; } ubo; layout(std140, binding = 1) readonly buffer TexelSSBOIn { vec4 texelsIn[]; }; layout(std140, binding = 2) buffer TexelSSBOOut { vec4 texelsOut[]; }; layout (local_size_x = 8, local_size_y = 1, local_size_z = 1) in; void main() { uint idx = gl_GlobalInvocationID.x; vec4 texelIn = texelsIn[idx]; float gray = dot(texelIn.rgb, vec3(0.2627, 0.6780, 0.0593)); texelsOut[idx] = vec4(vec3(gray), 1.0); }