Если вы просто хотите перенести эти строки в массивы вершин, это просто:
static const float texCoords[8] = {
0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f };
float vertices[8] = {
left_, top_, right_, top_, right_, bottom_, left_, bottom_ };
glBindTexture(GL_TEXTURE_2D, texture_);
glColor4f(1,1,1,1);
glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_QUADS, 0, 4);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableCLientState(GL_VERTEX_ARRAY);
Однако это не имеет ничего общего с современным OpenGL , на самом деле этоКод полностью действительный код OpenGL 1.1.Современный OpenGL - это не только массивы вершин, а не непосредственный режим.Кроме того, речь идет о хранении данных вершин в объектах буфера вершин (VBO) и выполнении всех вычислений (таких как преобразование, освещение, текстурирование, ...) с помощью шейдеров вместо старого конвейера с фиксированными функциями.Так что действительно перенести это на современный OpenGL на самом деле не такой простой вопрос.
Поскольку ваш вопрос говорит о том, что вы не знаете обо всем этом, объяснять здесь не имеет особого смысла, так какне просто сводится к 5-10 строкам кода, которые вам нужны только для строк в вопросе.Вам лучше обратиться к серьезному учебному ресурсу по современному OpenGL, если вы этого хотите.
Если все, что вы хотите сделать, это использовать массивы вершин вместо непосредственного режима, то приведенного выше кода должно быть достаточнохотя в этом примере, я думаю, он ничего не купит.