void setupBuffers()
{
GLfloat points[] = {-1.f, 0.f, -1.f, 1.f,
-1.f, 0.f, 1.f, 1.f,
1.f, 0.f, 1.f, 1.f,
1.f, 0.f, 1.f, 1.f,
1.f, 0.f, -1.f, 1.f,
-1.f, 0.f, -1.f, 1.f};
GLfloat colors[] = { 1.f, 0.f, 0.f, 1.f,
0.f, 1.f, 0.f, 1.f,
0.f, 0.f, 1.f, 1.f,
0.f, 1.f, 1.f, 1.f,
1.f, 0.f, 1.f, 1.f,
1.f, 1.f, 0.f, 1.f};
GLuint vbos[2];
GLuint vao;
gl::GenBuffers(2, vbos);
gl::GenVertexArrays(1, &vao);
gl::BindVertexArray(vao);
gl::BindBuffer(gl::ARRAY_BUFFER, vbos[0]);
gl::BufferData(gl::ARRAY_BUFFER, sizeof(points), points, gl::STATIC_DRAW);
gl::VertexAttribPointer(0, 4, gl::FLOAT, gl::FALSE_, 0, 0); // associate (index 0, buffer name vbos[0])
gl::EnableVertexAttribArray(0);
gl::BindBuffer(gl::ARRAY_BUFFER, vbos[1]);
gl::BufferData(gl::ARRAY_BUFFER, sizeof(colors), colors, gl::STATIC_DRAW);
gl::VertexAttribPointer(1, 4, gl::FLOAT, gl::FALSE_, 0, 0); // associate (index 1, buffer name vbos[1])
gl::EnableVertexAttribArray(1);
gl::BindBuffer(gl::ARRAY_BUFFER, 0); // no ARRAY_BUFFER_BINDING anymore ( == 0)
}