#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) { 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, gl_InstanceID, 1.0); }