こんにちは。
今回はpythonでOpenGLを使ってみたいと思います。
学校の授業でコンピュータグラフィックの授業をとっているのですが、ついでに書いたものをブログに載せていこうと思います。
授業はc++なのですが、c++でブログを書くと資料のものをコピーしてしまいそうな気がするので、pythonで書いていきます。
インストール
まず、OpenGLは標準では入っていないので、ライブラリをインストールします。
人によっては、普通にpipでインストールできるかもしれませんが、僕はそれだと動きませんでした。
なので、下記のページから、自分の環境にあったものをダウンロードします。
Python Extension Packages for Windows - Christoph Gohlke
ダウンロードするのは、
pyOpenGLと
pyOpenGL_accelerate
です。
ダウンロードしたら、
pip install ダウンロードしたファイルのパス
でインストールができると思います。
とりあえず画面を表示してみる
OpenGLのダウンロードが完了したら、とりあえず画面を表示できるか試します。
できない場合は、OpenGLがうまく入っていない可能性が高いと思います。
コードは以下のものを使います。
from OpenGL.GL import * from OpenGL.GLUT import * def draw(): glClearColor(1.0, 1.0, 1.0, 1.0) glClear(GL_COLOR_BUFFER_BIT) glFlush() if __name__ == "__main__": glutInit(sys.argv) glutInitWindowSize(400, 400) glutCreateWindow("openGL test") glutDisplayFunc(draw) glutMainLoop()
特にコメントは入れていませんが、なんとなくわかると思います。
三角形を書いてみる
次に三角形を描いてみます。
以下のような感じで書きました。
from OpenGL.GL import * from OpenGL.GLUT import * def draw(): glClearColor(1.0, 1.0, 1.0, 1.0) glClear(GL_COLOR_BUFFER_BIT) #三角形 glColor3f(0.0,0.0,1.0) glBegin(GL_LINE_LOOP) glVertex2f(-1.0,0.0) glVertex2f(0.0,1.0) glVertex2f(1.0,0.0) glEnd() glFlush() if __name__ == "__main__": glutInit(sys.argv) glutInitWindowSize(400, 400) glutCreateWindow("openGL test") glutDisplayFunc(draw) glutMainLoop()
実行すると以下のような感じで出力されると思います。
うまく三角形が出力されています。
ということで、今回はpythonでOpenGLを使う方法について書きました。
授業が進んでいったらどんどん更新していきたいと思います。