MoonWorksGraphicsTests/Common/Content/Shaders/Source/GradientTexture.comp

20 lines
462 B
Plaintext

#version 450
layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
layout (set = 1, binding = 0, rgba8) uniform writeonly image2D outImage;
layout (set = 2, binding = 0) uniform UBO
{
float time;
} ubo;
void main()
{
vec2 size = imageSize(outImage);
vec2 coord = gl_GlobalInvocationID.xy;
vec2 uv = coord / size;
vec3 col = 0.5 + 0.5*cos(ubo.time + uv.xyx + vec3(0, 2, 4));
imageStore(outImage, ivec2(coord), vec4(col, 1.0));
}