ここを参考にした。
サイトの説明文はまるでlinuxでやっているようだがwindowsでもOK。
1.setuptoolsのインストール
パッケージインストールツール。windows pythonにはデフォルトでインストール
されていないのでインストールする必要がある。
PyOpenGLのインストールに必要。
インストール方法:
python-setuptoolsのセットアップファイルをダウンロード
#wget http://peak.telecommunity.com/dist/ez_setup.py
↑この部分だけlinuxでやった。
ダウンロードしたファイルをwindowsのコマンドプロンプトで
下記のように実行した。
python ez_setup.py
すでに入ってるよって感じのメッセージが出た。
py2exeか何かを入れるときに入れてたのかな。
2.glutのインストール
OpenGLを使用するためのライブラリ
glut-3.7.6-bin.zipをダウンロードして、解凍する。
↑これはファイル名で検索したら出てきたのでそれをダウンロードした。
zipを展開する。
*dllを
C:WINDOWS\systemへコピーする。
C:WINDOWS\system32へコピーする。
と書いてたがよくわからないので下記ファイルをコピーした。
glut.def
glut.h
glut32.dll
glut32.lib
3.PyOpenGLのインストール
PyOpenGL-3.0.0a6.tar.gzをダウンロードして展開をする。
↑これもファイル名で検索して出てきたやつをダウンロードした。
展開はlinuxにてtar xzvf PyOpenGL-3.0.0a6.tar.gzで行った。
windowsのコマンドプロンプトにて上記で展開したディレクトリに入り
下記コマンドを実行した。
cd PyOpenGL-3.0.0a6
python setup.py install
これでインストール完了。
ここにサンプルとかpy2exesampleもあるっぽい。
サンプルはなぜか動かなかった。py2exesampleは試してない。
インストール後、下記ファイルを作成じて実行してみた。
画面が出ればインストール成功と思われる。
実行コマンドはpython sample.pyでOK
ファイル名sample.py
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
import sys
ESCAPE = '\033'
lastx = x = 30
lasty = y = 30
def initialize():
glClearDepth(1.0)
glEnable(GL_DEPTH_TEST)
glClearColor(0.0, 0.5, 0.0, 0.0)
glShadeModel(GL_SMOOTH)
glMatrixMode(GL_PROJECTION)
glFrustum(-0.5, 0.5, -0.5, 0.5, 1.0, 3.0)
glMatrixMode(GL_MODELVIEW)
glTranslatef(0.0, 0.0, -2.0)
glRotatef(y, 1.0, 0.0, 0.0)
glRotatef(x, 0.0, 1.0, 0.0)
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE)
glEnable(GL_COLOR_MATERIAL)
def mouseMotion(x, y):
global lastx, lasty
lastx = x
lasty = y
glutPostRedisplay()
def display():
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT )
glPushMatrix()
glBegin(GL_QUADS)
glNormal3f( 0.0, 0.0, 1.0)
glVertex3f( 0.5, 0.5, 0.5)
glVertex3f(-0.5, 0.5, 0.5)
glVertex3f(-0.5,-0.5, 0.5)
glVertex3f( 0.5,-0.5, 0.5)
glNormal3f( 0.0, 0.0,-1.0)
glVertex3f(-0.5,-0.5,-0.5)
glVertex3f(-0.5, 0.5,-0.5)
glVertex3f( 0.5, 0.5,-0.5)
glVertex3f( 0.5,-0.5,-0.5)
glNormal3f( 0.0, 1.0, 0.0)
glVertex3f( 0.5, 0.5, 0.5)
glVertex3f( 0.5, 0.5,-0.5)
glVertex3f(-0.5, 0.5,-0.5)
glVertex3f(-0.5, 0.5, 0.5)
glNormal3f( 0.0,-1.0, 0.0)
glVertex3f(-0.5,-0.5,-0.5)
glVertex3f( 0.5,-0.5,-0.5)
glVertex3f( 0.5,-0.5, 0.5)
glVertex3f(-0.5,-0.5, 0.5)
glNormal3f( 1.0, 0.0, 0.0)
glVertex3f( 0.5, 0.5, 0.5)
glVertex3f( 0.5,-0.5, 0.5)
glVertex3f( 0.5,-0.5,-0.5)
glVertex3f( 0.5, 0.5,-0.5)
glNormal3f(-1.0, 0.0, 0.0)
glVertex3f(-0.5,-0.5,-0.5)
glVertex3f(-0.5,-0.5, 0.5)
glVertex3f(-0.5, 0.5, 0.5)
glVertex3f(-0.5, 0.5,-0.5)
glEnd()
glPopMatrix()
glutSwapBuffers()
def keyboard(*args):
if args[0] == ESCAPE:
sys.exit()
def reshape(w, h):
pass
def main():
glutInit(sys.argv)
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH )
glutInitWindowPosition( 100, 100 )
glutInitWindowSize( 500, 400 )
glutCreateWindow( sys.argv[0] )
glutDisplayFunc( display )
glutKeyboardFunc( keyboard )
glutReshapeFunc( reshape )
glutMotionFunc( mouseMotion )
initialize()
glutMainLoop()
print "Hit ESC key to quit."
main()