#version 450 in vec3 in_vertex; in vec3 in_color; in int gl_InstanceID; uniform mat4 mvp; uniform int count; out vec4 fcolor; out vec4 gl_Position; void main(void) { float height_factor = in_vertex.y / 2 + 0.5; vec3 color; color[0] = height_factor; color.g = int(height_factor) | 100; color.b = gl_InstanceID; fcolor = vec4(color.rgb, 1.0); gl_Position = mvp * vec4(in_vertex.y, in_vertex.x + count / 500.0f, in_vertex.z + gl_InstanceID, 1.0); // fcolor = vec4(in_color.r/count + 1, in_color.g + height_factor, gl_InstanceID, 1.0); }