я делаю следующее:Поврежденный изображение, если переменная не является статичным
static GLfloat vertices[3][3] =
{
{0.0, 1.0, 0.0},
{1.0, 0.0, 0.0},
{-1.0, 0.0, 0.0}
};
glColor4ub(255, 0, 0, 255);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLES, 0, 9);
glDisableClientState(GL_VERTEX_ARRAY);
Это работает нормально:
http://dl.dropbox.com/u/41764/posts/Screen%20shot%202010-03-28%20at%2020.04.56.png
Однако, если удалить static
из вершин и, следовательно, воссоздавать данные по стеку при каждом рендеринге, я получаю следующее:
http://dl.dropbox.com/u/41764/posts/Screen%20shot%202010-03-28%20at%2020.06.38.png
Это происходит как на тренажере, так и на устройстве.
Должен ли я хранить переменные после того, как позвоню glDrawArrays
?
Конечно, вы правы. Извиняюсь, что не заметил этого. Я бы удалил свой ответ, если мог (но это все еще принятый ответ). –
Gah! Какая красная сельдь. Спасибо. –