Как можно передать динамический двумерный массив вертексов в функцию OpenGL?

Пишу на C++ с использованием библиотеки OpenGL. Код инициализации динамического массива vs:

float some[4][3] = { { -.5, -.5, 0 }, { -.5, +.5, 0 }, { +.5, +.5, 0 }, { +.5, -.5, 0 } };
// Инициализация
float** vs;
vs = new float*[4];
for (int i = 0; i < 4; i++) { vs[i] = new float[3]; }
// Заполнение сомом
for (int i = 0; i < 4; i++)
{
  for (int j = 0; j < 3; j++)
  {
    vs[i][j] = some[i][j];
  }
}

Фрагмент отрисовки:

glVertexPointer(3, GL_FLOAT, 0, &vs);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_LINE_LOOP, 0, 4);
glDisableClientState(GL_VERTEX_ARRAY);

Если делать так, то выводит непонятно что: [![Если используется vs][1]][1] [1]: https://i.stack.imgur.com/JSUdp.png [![Если используется some][2]][2] [2]: https://i.stack.imgur.com/Is5dK.png В случае с vs - линия вниз и линия вбок, которая иногда мерцает и пропадает В случае с some - всё прекрасно работает


Ответы (0 шт):