0

この glsl シェーダーは正常にコンパイルされますが、glUseProgram(); でアクティブにしようとすると、opengl で無効な値のエラーが表示されます。

@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);
}

ただし、頂点を放出する部分を削除すると機能します。私は何を間違っていますか?

4

1 に答える 1