Почему мой OpenGL ES view не обновляется при использовании следующего кода? - PullRequest
0 голосов
/ 11 декабря 2010

Я программирую игру OpenGL для iPhone, и у меня есть этот код, который вызывается 24 раза в секунду, предназначенный для обновления представления:

[gameWorld update];

glColor3f(1.0f, 0.85f, 0.35f);
glBegin(GL_QUADS); {
    glVertex3f(gameWorld.player.x, gameWorld.player.y, 0);
    glVertex3f(gameWorld.player.x+10, gameWorld.player.y, 0);
    glVertex3f(gameWorld.player.x+10, gameWorld.player.y+20, 0);
    glVertex3f(gameWorld.player.x, gameWorld.player.y+20, 0);
}
glEnd();

Где [gameWorld update] вызывает код, необходимый для изменения gameWorld.player.x в зависимости от того, какая клавиша нажата (это работает). Моя проблема в том, что желтый прямоугольник, нарисованный на экране, не перемещается после блока glBegin (). Есть идеи почему?

1 Ответ

2 голосов
/ 11 декабря 2010

glBegin () / glEnd () не поддерживается в OpenGL ES 1.1.

Возможно, вы захотите взглянуть на этого поста , в котором объясняется, как выполнять подобные операции.В основном, для рисования треугольника:

glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, triVertices);
glDrawArrays(GL_TRIANGLES, 0, 3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...