Вот источник шейдера:
#version 430 core
void main(void){
const vec4 vertices[3] = vec4[3](
vec4(0.25, -0.25, 0.5, 1.0),
vec4(-0.25, -0.25, 0.5, 1.0),
vec4( 0.25, 0.25, 0.5, 1.0));
gl_Position = vertices[gl_VertexID];
}
и вот функция, которая вызывает шейдер:
void render(){
glClearBufferfv(GL_COLOR, 0, red);
glUseProgram(myprogram);
glDrawArrays(GL_TRIANGLES, 0, 3);
}
Я не могу получить треугольник для рендеринга на экране. Отдельные точки будут отображаться, если я заменю GL_TRIANGLES на GL_POINTS, использую 1 вход и устанавливаю gl_position равным vec4 (0,25, 0,25, 0,5, 1,0). Я проверил на других машинах, чтобы убедиться, что это не проблема реализации. Любая помощь?
Задача ещё не решена.