Я использую win32 и opengl, и у меня есть окно с проекцией в glOrtho координат окна. У меня включена двойная буферизация, я тоже тестировал ее с glGet. Кажется, моя программа порвет все примитивы, которые я пытаюсь нарисовать, если она постоянно переводится.
Вот моя функция инициализации OpenGL:
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glViewport(0, 0, 640, 480);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 640, 0, 480, 0, 100);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glDrawBuffer(GL_BACK);
glLoadIdentity();
И это моя функция рендеринга, gMouseX и gMouseY - координаты мыши:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glTranslatef(gMouseX, gMouseY, 0.0f);
glColor3f(0.5f, 0.5f, 0.5f);
glBegin(GL_TRIANGLES);
glVertex2f(0.0f, 128.0f);
glVertex2f(128.0f, 0.0f);
glVertex2f(0.0f, 0.0f);
glEnd();
SwapBuffers(hDC);
Одна и та же проблема разрыва возникает независимо от того, как часто выполняется функция рендеринга. Есть ли что-то, что я делаю неправильно или отсутствует здесь?