OpenGLの勉強(2)
フォルダ\PyOpenGL-Demo-3.0.1b1\PyOpenGL-Demo\GLE にあるmaintest.pyというモジュールで、マウスの動きや光の当て方を定義している(ようだ)。これをimportして、マウスで物体を回転させることができるようなので、サンプルコードをいじってみる。
cubeをマウスで回転させる。maintestはそのまま使う。こんな感じ。
やはりサンプル豊富なテキストがないと、勉強を続けるのは辛い...。
from OpenGL.GL import * from OpenGL.GLUT import * from OpenGL.GLE import * import maintest def DrawStuff(): glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) gleSetJoinStyle (TUBE_NORM_EDGE | TUBE_JN_ANGLE | TUBE_JN_CAP) glPushMatrix () glTranslatef (0.0, 0.0, -80.0) glRotatef (maintest.lastx, 0.0, 1.0, 0.0) glRotatef (maintest.lasty, 1.0, 0.0, 0.0) glBegin(GL_QUADS) glColor3f(0.0,10.0,0.0) glVertex3f( 10.0, 10.0,-10.0) glVertex3f(-10.0, 10.0,-10.0) glVertex3f(-10.0, 10.0, 10.0) glVertex3f( 10.0, 10.0, 10.0) glColor3f(1.0,0.5,0.0) glVertex3f( 10.0,-10.0, 10.0) glVertex3f(-10.0,-10.0, 10.0) glVertex3f(-10.0,-10.0,-10.0) glVertex3f( 10.0,-10.0,-10.0) glColor3f(1.0,0.0,0.0) glVertex3f( 10.0, 10.0, 10.0) glVertex3f(-10.0, 10.0, 10.0) glVertex3f(-10.0,-10.0, 10.0) glVertex3f( 10.0,-10.0, 10.0) glColor3f(1.0,1.0,0.0) glVertex3f( 10.0,-10.0,-10.0) glVertex3f(-10.0,-10.0,-10.0) glVertex3f(-10.0, 10.0,-10.0) glVertex3f( 10.0, 10.0,-10.0) glColor3f(0.0,0.0,1.0) glVertex3f(-10.0, 10.0, 10.0) glVertex3f(-10.0, 10.0,-10.0) glVertex3f(-10.0,-10.0,-10.0) glVertex3f(-10.0,-10.0, 10.0) glColor3f(1.0,0.0,1.0) glVertex3f( 10.0, 10.0,-10.0) glVertex3f( 10.0, 10.0, 10.0) glVertex3f( 10.0,-10.0, 10.0) glVertex3f( 10.0,-10.0,-10.0) glEnd(); glPopMatrix () glutSwapBuffers () maintest.main(DrawStuff)