Colours in GLSL

Let’s assume that I have a triangle with coordinates x,y,z=0,0,0 x,y,z=1,0,0 x,y,z=0.5,1,0

I would like to achieve efect in which one half of the triangle is ( for example red ) and second blue. I ask for the code (in GLSL) in which I will be able to change
colour of the pixel depending on coordinates of the triangle.

In that case, it is be better to use two triangles.

You can give each Vertex a 1D ‘texture coordinate’ (0.0, 0.5 and 1.0) and color in the fragmentshader dependent on that value (provided by the VS as a varying):


in float texCoord;
out vec3 color;

void main() {
  if (texCoord > 0.5) {
    color = vec3(1.0, 0.0, 0.0);
  } else {
    color = vec3(0.0, 0.0, 1.0);
  }
}

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.