Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2010 08:55:03

rudm
От:
Зарегистрирован: 2009-10-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и OpenGL. Какие параметры инициализации надо указать?(+)

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

from OpenGL.GL import *   
from OpenGL.GLU import *
from OpenGL.GLUT import *

def DrawGLScene():
glClear(GL_COLOR_BUFFER_BIT)
glBegin(GL_TRIANGLES)
glVertex3f(0.0,1.0,0.0)
glVertex3f(-1.0,-1.0,0.0)
glVertex3f(1.0,-1.0,0.0)
glEnd()

def main():
glClearColor (0.0, 0.0, 0.0, 0.0)
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE)
glutInitWindowSize(800,600)
glutInitWindowPosition(0,0)
glutCreateWindow("Draw Single Triangle")
glutDisplayFunc(DrawGLScene)
glutMainLoop()

main()



Офлайн

#2 Март 7, 2010 18:11:21

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Python и OpenGL. Какие параметры инициализации надо указать?(+)

from OpenGL.GL import *   
from OpenGL.GLU import *
from OpenGL.GLUT import *

def DrawGLScene():
glClear(GL_COLOR_BUFFER_BIT)
glBegin(GL_TRIANGLES)
glVertex3f(0.0,1.0,0.0)
glVertex3f(-1.0,-1.0,0.0)
glVertex3f(1.0,-1.0,0.0)
glEnd()

glFlush()

def main():
glutInit()
glClearColor (0.0, 0.0, 0.0, 0.0)
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE)
glutInitWindowSize(800,600)
glutInitWindowPosition(0,0)
glutCreateWindow("Draw Single Triangle")
glutDisplayFunc(DrawGLScene)
glutMainLoop()

main()



Офлайн

#3 Март 10, 2010 12:10:41

rudm
От:
Зарегистрирован: 2009-10-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Python и OpenGL. Какие параметры инициализации надо указать?(+)

Спасибо. Интересно, почему программа виснет с glutSwapBuffers() вместо glFlush()



Офлайн

#4 Март 10, 2010 12:55:17

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Python и OpenGL. Какие параметры инициализации надо указать?(+)

Укажите glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH) - и тогда прийдется использовать glutSwapBuffers()
В single mode нечего обменивать…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version