繁体   English   中英

为什么我不能在PyOpenGL中旋转立方体?

[英]Why I cannot rotate my cube in PyOpenGL?

当我按下键“ r”(键事件)时,我试图旋转我的立方体,我正在使用Pyopengl,但我不知道为什么这样做不是这样。

这是我的代码的一部分。

def init(): 
   glMatrixMode (GL_PROJECTION)
   glClearColor(0.529, 0.529, 0.529, 0.0)#Definimos color de ventana
   glColor3f(0.0, 1.0, 1.0)#Definimos color inicial para el cubo

def dibujarCubo():
   glClear (GL_COLOR_BUFFER_BIT)
   glColor3f (1.0, 1.0, 1.0)
   glLoadIdentity ()
   gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
   glutWireCube (1.0)
   glFlush ()

def reshape (w, h): #Esta funcion se escarga de reescalar la ventana
   glViewport (0, 0, w, h)
   glLoadIdentity ()
   glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0)
   glMatrixMode (GL_MODELVIEW)

def keyPressed(*args):
   key = args[0]
   if key == "r" or key =="R":
      glRotatef(30, 1, 0, 0)#Rotate in x

尝试在glRotatef()指令下再次调用dibujarCubo()

通常,您只想从显示回调中调用OpenGL函数。

修改keyPressed以增加变量并调用glutPostRedisplay()dibujarCubo以将该变量用作glRotatef()参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM