2008/05/04

glutReshapeFunc

glutReshapeFuncは、実行途中にウインドウの大きさが変更された時に起動されるコールバックを定義できるのですが、これを行うとPythonがクラッシュしてしまいます。昨日からいろいろと試したのですが、どうにもなりません。当面はウィンドウのリサイズは禁止ということで進めたいと思います。もし解決策をご存じでしたら教えて下さい。

If I define any callback routine to "glutReshapeFunc" which I can define a routine to be invoked after graphic window size is changed by user. Unfortunately, this crashes both Python shell and IDLE. I tried to fix this by changing my code in several different ways, but I couldn't. If you have any suggestion to solve this problem, please let me know.

Sample code which cause crash:

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

def display():
glClear( GL_COLOR_BUFFER_BIT )
glBegin(GL_POLYGON)
glColor3f(1.0, 1.0, 1.0)
glVertex2f(-0.5, -0.5)
glVertex2f(-0.5, 0.5)
glVertex2f(0.5, 0.5)
glVertex2f(0.5, -0.5)
glEnd()
glColor3f(1.0, 0.0, 0.0)
glRasterPos2f(0.3, 0.3)
glutBitmapCharacter(GLUT_BITMAP_8_BY_13, 65)
glFlush()

def reshape(w, h):
print "reshape detected"
glutPostRedisplay()

glutInit( sys.argv )
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB )
glutInitWindowSize( 500, 500 )
glutInitWindowPosition(0,0)
glutCreateWindow( 'simple' )
glutDisplayFunc( display )
glutReshapeFunc( reshape )
glutMainLoop()

0 件のコメント: