24 lines
		
	
	
		
			590 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			24 lines
		
	
	
		
			590 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #version 430 | ||
|  | 
 | ||
|  | layout (location = 1) uniform float t; | ||
|  | 
 | ||
|  | // size of local work group - 1 pixel | ||
|  | layout(local_size_x = 1, local_size_y = 1) in; | ||
|  | 
 | ||
|  | // rgba32f defines internal format, image2d for random write to output texture | ||
|  | layout(rgba32f, binding = 0) uniform image2D img_output; | ||
|  | 
 | ||
|  | 
 | ||
|  | void main() | ||
|  | { | ||
|  |     // base pixel colour for the image | ||
|  |     vec4 pixel = vec4(1.0, t, 0.0, 1.0); | ||
|  |     // get index in global work group ie xy position | ||
|  |     ivec2 pixel_coords = ivec2(gl_GlobalInvocationID.xy); | ||
|  | 
 | ||
|  |     // | ||
|  | 
 | ||
|  |     // output to a specific pixel in the image | ||
|  |     imageStore(img_output, pixel_coords, pixel); | ||
|  | } |