Examples
In the following pages I'm going to present some examples, from the most basic one to a complex lighting shader.
Solid color mesh
The first one is a very simple shader that writes the mesh in a solid color, received using a uniform variable:
#version 430 #debug(on) #optimize(off) uniform vec4 SolidColor; out vec4 FBColor; void main() { FBColor= SolidColor; }
Using a half red color stored in the SolidColor
uniform variable, over a cylinder mesh, we get the following rendering:
Using only uniforms as input we can't do much more than this, so I'll colorize the cylinder using its own vertices' positions.
Interpolated colored mesh
First, in the vertex shader, set up an interpolator of vec3 type and place the xyz
of the position
attribute there. Then, use the following fragment shader:
#version 430 #pragma debug(on) #pragma optimize(off) uniform vec4 SolidColor; in vec3 InterpolatedPosition; out vec4 FBColor; void main() { FBColor = vec4(InterpolatedPosition, 1.0); }
The following is the...