This glsl shader compiles fine, but when I try to activate it with glUseProgram(); opengl gives me an invalid value error:
@vert
#version 150
uniform mat4 projectionmodelview_matrix_;
in vec3 global_position_;
void main(void) {
gl_Position = projectionmodelview_matrix_ * vec4(global_position_, 1.0);
EmitVertex();
gl_Position = projectionmodelview_matrix_ * vec4(global_position_, 1.0);
EmitVertex();
gl_Position = projectionmodelview_matrix_ * vec4(global_position_, 1.0);
EmitVertex();
EndPrimitive();
}
@frag
#version 150
out vec4 out_color_;
void main(void) {
out_color_ = vec4(1.0, 0.0, 0.0, 1.0);
}
However, if I remove the parts which emit vertices, it works. What am I doing wrong?