2007年9月29日土曜日

pythonでOpenGL

pythonでOpenGLでも使いましょうということで、

1.setuptools のインストール
パッケージインストールツール。windows pythonにはデフォルトでインストール
されていないのでインストールする必要がある。
PyOpenGLのインストールに必要である。

インストール方法:
python-setuptools のセットアップファイルをダウンロード
#wget http://peak.telecommunity.com/dist/ez_setup.py
#python ./ez_setup.py

2.glut のインストール
OpenGLを使用するためのライブラリ
glut-3.7.6-bin.zipをダウンロードして、解凍する。
*dll を
C:WINDOWSsystemへコピーする。
C:WINDOWSsystem32へコピーする。

3.PyOpenGL のインストール
PyOpenGL-3.0.0a6.tar.gzをダウンロードして展開をする。
#cd PyOpenGL-3.0.0a6
#python setup.py install
これでインストール完了。

4.pygame のインストール
pygame-1.7.1release.win32-py2.5.exeをダウンロードして
インストールする。


4 はついでにインストールしましたw

これでpythonでOpenGLが使えるようになります。

以下簡単なサンプル
#!/usr/bin/python
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

init_flag = 0

def display():
global init_flag
if not init_flag:
glEnable( GL_LIGHTING )
glEnable( GL_LIGHT0 )
glEnable( GL_DEPTH_TEST )
init_flag = 1

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT )
glPushMatrix()
gluLookAt( 0,3,-10, 0,0,0, 0,1,0 )
glutSolidTeapot( 2 )
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport( 0, 0, w, h )
glMatrixMode( GL_PROJECTION )
glLoadIdentity()
gluPerspective( 45.0, 1.0*w/h, 0.1, 100.0 )
glMatrixMode( GL_MODELVIEW )
glLoadIdentity()

def keyboard(key,x,y):
if key==chr(27): sys.exit(0)

glutInit( sys.argv )
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH )
glutInitWindowSize( 256, 256 )
glutCreateWindow( 'teapot' )
glutReshapeFunc( reshape )
glutKeyboardFunc( keyboard )
glutDisplayFunc( display )
glutMainLoop()

0 件のコメント:

コメントを投稿