последний аргумент glDrawElements () должен быть списком индексов в вашем списке вершин, а не самих вершин.Вам также нужно сообщить OpenGL о вашем списке вершин.
код должен выглядеть примерно так:
float vertices[] = {-0.5f, -0.5f, 0.5f, 0.5f};
unsigned int indices[] = {0, 1};
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawElements(GL_LINES, 2, GL_UNSIGNED_INT, indices);
edit: я думаю, это также будет работать:
float vertices[] = {-0.5f, -0.5f, 0.5f, 0.5f};
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawArrays(GL_LINES, 0, 2);