Глюк при перемещении камеры в OpenGL

Я пишу игровой движок на основе плитки для iPhone, и он работает в целом, за исключением следующего глюка. По сути, камера всегда будет держать игрока в центре экрана, и она будет двигаться, чтобы следовать за игроком правильно и правильно рисовать все в неподвижном состоянии. Однако, пока игрок движется, плитки поверхности, на которой он ходит, сбиваются, как показано:

http://img41.imageshack.us/img41/9422/movingy.png

По сравнению со стационарным (правильно):

http://img689.imageshack.us/img689/7026/still.png

У кого-нибудь есть идеи, почему это может быть?

Спасибо за ответы до сих пор. Ошибка с плавающей точкой была моей первой мыслью, и я попытался немного увеличить размер тайлов, но это не помогло. Изменение glClearColor на красный все еще оставляет черные пробелы, так что, возможно, это не такОшибка с плавающей запятой. Так как плитки вообще будут использовать разные текстуры, я нене знаю, можно ли использовать массивы вершин (я всегда думал, что ко всему в массиве нужно применять одну и ту же текстуру, поправьте меня, если яя не прав), а я нетЯ думаю, что VBO доступно в OpenGL ES. Настройка фильтрации для ближайшего соседа улучшила ситуацию, но сбой по-прежнему происходит каждые десять кадров или около того, и пиксельный результат означает, что это решение в любом случае нежизнеспособно.

Основное различие между тем, что яделаю сейчас и что яМы сделали в прошлом то, что на этот раз я перемещаю камеру, а не неподвижные объекты в мире (то есть, плитки, игрок все еще перемещается). Код ям для перемещения камеры используется:

void Camera::CentreAtPoint( GLfloat x, GLfloat y )
{
 glMatrixMode(GL_PROJECTION); 
 glLoadIdentity();
 glOrthof(x - size.x / 2.0f, x + size.x / 2.0f, y + size.y / 2.0f, y - size.y / 2.0f, 0.01f, 5.0f);
 glMatrixMode(GL_MODELVIEW);
}  

Есть ли проблема с такими действиями, и если да, есть ли решение?

Ответы на вопрос(3)

Ваш ответ на вопрос