GLfloat vertices[] = {
-1.0f, -1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
-1.0f, -1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
1.0f, 1.0f, -1.0f,
-1.0f, 1.0f, -1.0f,
};
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
glClearDepth( 1.0f );
glEnable( GL_DEPTH_TEST );
glDepthFunc( GL_LEQUAL );
glViewport( 0, 0, static_cast<GLsizei>(width), static_cast<GLsizei>(height) ); // 640 x 480
glUseProgram(prog) // already successfully compiled and linked
glUniform1f(glGetAttribLocation(prog, "height"), 2.0f);
glUniform1f(glGetAttribLocation(prog, "aspect"), 4.0f/3.0f);
glUniform1f(glGetAttribLocation(prog, "zNear"), -2.0f);
glUniform1f(glGetAttribLocation(prog, "zFar"), 2.0f);
glGenBuffers(1, &vbo);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
GLuint name = glGetAttribLocation(prog, "position");
glEnableVertexAttribArray(name);
glVertexAttribPointer(name, 3, GL_FLOAT, GL_FALSE, 0, reinterpret_cast<void*>(0));
Comments