Drawing a simple geometry sample
In order to have a runnable shader program, we need a vertex shader and a fragment shader. Until now, we have not spoken about fragment shaders, but we still need one to run the samples, so I'll present here a simple fragment shader to use in conjunction with the next vertex shaders. This will be our sample fragment shader, kept as simple as possible for learning purposes:
// Fragment shader #version 430 #pragma debug(on) #pragma optimize(off) uniform vec4 SolidColor; // Writing to this variable will set the current fragment's color out vec4 frameBufferColor; void main() { frameBufferColor = SolidColor; }
This fragment shader paints the whole triangle surface with a solid color, provided by means of a uniform variable (fragment shaders also have uniform variables).
Coming back to the vertex shaders, let's start with a simple one. The simplest thing we could want to do is show our geometry as it is, on the screen, rendered with a single solid color. So...