April 6, 2009

shaderman(セットアップ編)

shaderman

shaderman というのに挑戦してみる。

Renderman SL と書いてあるし、画像を見る限り、シェーダーを組み立てるのを視覚的にできるみたい。線で繋いだりするらしいけど、それって Quartz Composer みたいにできるのかな。だとしたら面白そうです。これを使っていくためには、Python, ctypes, wxPython, PyOpenGL が必要らしいですが、とりあえずダウンロードしてディレクトリ構造を確認してみる。

D:.
├─core
├─examples
├─mako
└─modes
    ├─Particles
    │  └─nodes
    │      └─forces
    ├─PIL
    │  └─nodes
    │      ├─Image
    │      └─ImageDraw
    ├─Renderman SL
    │  └─nodes
    │      ├─color_patterns
    │      ├─diffuse
    │      ├─fractal
    │      ├─math
    │      ├─noises
    │      ├─sl_math
    │      └─specular
    ├─SLcomp
    │  └─nodes
    │      ├─color
    │      └─porter_duff
    └─Unix
        └─nodes

とりあえず、Python, ctypes, wxPython, PyOpenGL を用意するか。

準備する

【PyOpenGL】 とりあえずインストール という記事に沿ってやってみました。

Python

Python2.5.1をインストールします。
http://www.python.jp/Zope/download/pythoncore に行くと手に入る

ctypes

ctypes って何なのかが全くわからなかったので、そこを調べることから始めた。
http://www.python.jp/doc/release/lib/module-ctypes.html にこう書いてあった。

バージョン 2.5 で 新たに追加 された仕様です。

ctypesはPythonのための外部関数ライブラリです。このライブラリは Cと互換性のあるデータ型を提供し、動的リンク/共有ライブラリ内の関数呼び出しを可能にします。動的リンク/共有ライブラリを純粋なPythonでラップするために使うことができます。

つまり、2.5.1 をいれたことによって、もうこれは準備できているということ?
とりあえず、進める。

wxPython

僕がダウンロードしたのは wxPython2.8-win32-unicode-2.8.9.2-py25.exe です。
インストール方法はこれを起動させてボタンをぽちぽち押すだけ。

wxPython Download (URL追記)

ちなみに、一番最後に Compile Python .py files to .pyc と聞かれます。どういう意味があるのかよくわかりませんが僕はチェックしました。(コンパイルするんだとは思うんですけど

PyOpenGL: ez_setup.py を使って setuptools のインストール

後で setup.py というのを使うんですが、その前段階として ez_setup.py を使ってsetuptools というものをインストールする必要があるみたいです。

コマンドコロンプトで以下のように入力すると、

python ez_setup.py

setuptools がインストールされます。
(develop というのは Cドライブに僕が勝手に作ったフォルダです。)

Downloading http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py
2.5.egg
Processing setuptools-0.6c9-py2.5.egg
Copying setuptools-0.6c9-py2.5.egg to c:\develop\python25\lib\site-packages
Adding setuptools 0.6c9 to easy-install.pth file
Installing easy_install-script.py script to C:\develop\python25\Scripts
Installing easy_install.exe script to C:\develop\python25\Scripts
Installing easy_install-2.5-script.py script to C:\develop\python25\Scripts
Installing easy_install-2.5.exe script to C:\develop\python25\Scripts

Installed c:\develop\python25\lib\site-packages\setuptools-0.6c9-py2.5.egg
Processing dependencies for setuptools==0.6c9
Finished processing dependencies for setuptools==0.6c9
PyOpenGL: setup.py の実行

PyOpenGL を http://sourceforge.net/projects/pyopengl/ から入手します。
僕は PyOpenGL-3.0.0.zip をダウンロードしました。

コマンドコロンプトで PyOpenGL-3.0.0.zip を解凍したフォルダに移動して、以下のように実行。
インストールのログを残したい場合は python setup.py install > result.txt とすると、その過程(長文)が result.txt に保存されます。

python setup.py install

すると、python25\Lib\site-packages\OpenGL\ ができているはずです。

そして、glut.dll 32 (glut-3.7.6-bin.zip)をダウンロードしてきてPathが通っている箇所(例えば、system32 とか)に入れます。 http://www.xmission.com/~nate/glut.html

shaderman の起動

prototype.py というのをクリックすると、ようやく起動できた。