Я пытаюсь настроить простой трехмерный вид с помощью pygame и opengl, используя frustum для настройки матрицы проекции.Вот мой код инициализации:
def initgl(self):
glClearColor(0.0,0.0,0.0,0.0)
glViewport(0,0,640,480)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glFrustum(0,640,480,0,.1,1000.)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
Вот мой код дисплея:
def paintgl(self):
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
glPushMatrix()
glColor3f(1.0,1.0,1.0)
glBegin(GL_QUADS)
glVertex3f(-1.0,-1.0,0.0)
glVertex3f(1.0,-1.0,0.0)
glVertex3f(1.0,1.0,0.0)
glVertex3f(-1.0,1.0,0.0)
glEnd()
glPopMatrix()
Что странно, что когда я использую glOrtho, тогда все отображается правильно.У меня вопрос: что я делаю неправильно, чтобы Pygame отображал этот код opengl?
Редактировать: если я отображаю список отображения, список отображения работает правильно, отображается только при вызове, но моя геометриявсе еще отсутствует
Обратите внимание, что я изменил FOV на более правильный (ближний - 1, дальний - 10), и я вытолкнул свою геометрию до 2 на оси Z, и все еще ничего.
Исправлено:
Я не смотрел в правильном направлении.О, лол.