gradient.comp 604 B

1234567891011121314151617181920212223242526
  1. #version 460
  2. layout (local_size_x = 16, local_size_y = 16) in;
  3. layout(rgba16f,set = 0, binding = 0) uniform image2D image;
  4. void main()
  5. {
  6. ivec2 texelCoord = ivec2(gl_GlobalInvocationID.xy);
  7. ivec2 size = imageSize(image);
  8. if(texelCoord.x < size.x && texelCoord.y < size.y)
  9. {
  10. vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
  11. if(gl_LocalInvocationID.x != 0 && gl_LocalInvocationID.y != 0)
  12. {
  13. color.x = float(texelCoord.x)/(size.x);
  14. color.y = float(texelCoord.y)/(size.y);
  15. }
  16. imageStore(image, texelCoord, color);
  17. }
  18. }