Start with an OpenGL program that draws two triangles to form a quad. Provide the position at vertex attribute location 0, and the texture coordinate (0 to 1 in each direction) at vertex attribute location 1 (see the Sending data to a shader using vertex attributes and vertex buffer objects recipe).
We'll use the following vertex shader:
#version 430 layout (location = 0) in vec3 VertexPosition; layout (location = 1) in vec3 VertexTexCoord; out vec3 TexCoord; void main() { TexCoord = VertexTexCoord; gl_Position = vec4(VertexPosition,1.0); }
The fragment shader contains the uniform block, and is responsible for drawing our fuzzy circle:
#version 430 in vec3 TexCoord; layout (location = 0) out vec4 FragColor; layout (binding ...