1/3 >>

cgkit

Pythonで学ぶRenderMan Interface

用意するもの。
■Python-2.3.5.exe
■PIL-1.1.5.win32-py2.3.exe
■PyProtocols-0.9.3.win32-py2.3.exe
■cgkit-2.0.0alpha5.win32-py2.3.exe
■pygame-1.6.2.win32-py2.3.exe
■Aqsis
■3delight-4.5.0-setup.exe

インストールは対応するPython2.3.5英語版を使う。

コマンドプロンプトから
>viewer.py helloworld.py

OpenGLで起動。Mayaと同じようにAltキーを押しながら,カメラ回転ができる。

>>> from cgkit import *
ではなくて,
>>> from cgkit.all import *
を使っている。

http://cgkit.sourceforge.net/
  • -
  • -

cgkit2のインストール。python24を使った。

-------------------------------------------------------------
http://peak.telecommunity.com/PyProtocols.htmlから PyProtocols-0.9.3.zipをダウンロードしてきます。(Python2.4用のバイナリは無い)

それを展開して、

python setup.py install

python setup.py test

問題ないようならOK。
------------------------------------------------------------

新たにインストールしました。
Visual Studio 2003(version7.1)が入っていないとPyProtocolはコンパイルができないようですね。
マシンにPython22jpやPython23が入っていたので,最初パスがうまくとおりませんでした。
>c:\python24\python setup.py install
でうまくいきました。

あと,pygame-1.7.1release.win32-py2.4.exe
PIL-1.1.5.win32-py2.4.exe
をインストールしたら,OpenGL表示と互換レンダラーでレンダリングできました。
Ambient Occlusionとbakeが気になっているのでこれから勉強しようと思います。
ありがとうございます。
  • -
  • -

cgkit2のインストール(その2)

仕事場でCgkit2をインストールしようとした。
結局できず。
自宅はVisual C++ .Net Standard 2003とMSDN Library for Visual Studio .Net 2003がインストールされているから,うまくコンパイルできた模様。

うーん,英語版と日本語版ではちがうのか。

WindowsでFreeなCモジュールビルド環境
http://www.freia.jp/taka/memo/freevcbuild

Python 2.4 Extensions w/ the MS Toolkit Compiler
http://www.vrplumber.com/programming/mstoolkit/

無料でできるようになんとかしたいものですよ。
  • -
  • -

Cgkit2.0alpha7インストール

Visual Studio .NET2003とMSDN Library(最小)をインストールして,
Python2.4はインストール後
システム環境変数のPathをきちんと指定した。
C:\Python24;C:\Python24\Scripts;
再起動したら,

>viewer.py demo1.py

OpenGL表示した。
  • -
  • -

Cgkit2.0alpha5インストール

既にalpha5は手に入らないが,まとめてみた。

■■Cgkitのインストールについて■■

Python-2.3.5.exeをインストール
PyProtocols-0.9.3.win32-py2.3.exe
PIL-1.1.5.win32-py2.3.exe
pygame-1.6.win32-py2.3.exe
cgkit-2.0.0alpha5.win32-py2.3.exe
Pixie-1.7.6-Setup.exe

SampleをC:\Python23にコピーする。

┘泪ぅ灰鵐團紂璽燭魃Εリックし、
「プロパティ」→「詳細設定」
→「環境変数」→「システム環境変数」のPathをクリック
「編集」を押して「変数値」に次の文を追加する。

;C:\Python23;C:\Python23\Scripts


■■
コマンドプロンプトで
Open GL表示されたら成功!!

>Viewer.py helloworld.py


Rendering表示
RenderMan Renderer "Pixie"を使っている。

>Render.py -r pixie helloworld.py

--------------------------------------
cgkit-2.0.0alpha6.win32-py2.3.exeがダウンロードできるけど,Render.pyでエラーが出てしまう。うまくレンダリングできない。
よってバージョンダウンした。

Python2.4でのCgkit2.0alpha7は面白い。
grow.pyでの練習。RiCurves()の書き方を勉強しないと。
先駆者の論文が読めるように慣れないと・・・課題はたくさん。
  • -
  • -

PyProtocols

Visual Studioをインストールしたりして,大騒ぎしたPyProtocolsだけど,
Pythonには,eggというのがあるのですね。
ネットから探してきてインストールしてくれる便利ツール
ez_setup.pyがあるではありませんか。

まず,Python2.4をインストール
いろいろなモジュールをインストールする。
PyProtocolはWindows用のインストーラがないので,前回大変だった。
今回は
C:\Python24>python ez_setup.py
とやると,easy_installをインストールしてくれる。

後は,PathやPythonPathを設定して,再起動。

あらかじめ準備しておいたPyProtocols-0.9.3-py2.4-win32.eggのeggをC:\Python24においておく。

続いて,
C:\Python24\Scripts>easy_install C:\Python24\PyProtocols-0.9.3-py2.4-win32.egg

あっけなくインストール完了。

これで,CGkitが使えます。
  • -
  • -

Cgkit Python2.5 インストール

Python Cgkitを今まで、Python2.4で使っていたが、Python2.5にupdateした。

以下、インストール手順:
python-2.5.2.msi
cgkit-2.0.0alpha8.win32-py2.5.exe
PIL-1.1.6.win32-py2.5.exe
pygame-1.8.0.win32-py2.5.msi

ez_setup.pyをダウンロードしてきて
python ez_setup.pyでeasy_installをインストール

easy_install PyOpenGL
で、pyopengl-3.0.0b3-py2.5.eggがインストールされる。

やっかいなのが、Pyprotocols
PyProtocols-0.9.3.zipをダウンロード

C:\Python25\PyProtocols>Python setup.py --without-speedups install

これでインストールしないと、render.pyが動かないことがわかった。
-----------------------------
explgt = protocols.adapt(obj, ILightSource)
File "C:\cygwin\home\pje\PyProtocols\src/protocols/_speedups.pyx", line 199, in _speedups.adapt
File "C:\cygwin\home\pje\PyProtocols\src/protocols/_speedups.pyx", line 188, in _speedups._adapt
TypeError: exceptions must be strings, classes, or instances, not
AdaptationFailure
---------------------
マシューさん、ありがとうございます。

>render.py -r 3delight simplescene.py
で、レンダリングしたサンプル。

out.jpg
  • -
  • -

cgkit-2.0.0alpha9.win32-py2.5.exe

cgkitがアップデートした。
ますますRenderMan互換レンダラーで便利に使える。

Python2.5でのcgkitのインストール注意点をまとめておく。

■必要なファイル 
python-2.5.4.msi
PyOpenGL-3.0.1a2.win32.exe
PyODE-1.2.0.win32-py2.5.exe
pygame-1.8.1release.win32-py2.5.msi
PIL-1.1.6.win32-py2.5.exe
cgkit-2.0.0alpha9.win32-py2.5.exe
PyProtocols-0.9.3.zip
(msvcp71.dll)

■マイ コンピュータを右クリック
詳細設定→環境変数→システム環境変数のPATHを探して、「編集」をクリック。ここで変数値が選択状態になっているが、マウスでクリックして選択解除、他の設定を消さないように、変数値の最後の部分に次のパスを追加する。

;C:\Python25;C:\Python25\Scripts

■マシンを再起動。

以上をインストールしたら、
PyProtocols-0.9.3.zipをC:\Python25に解凍する。

■コマンドプロンプトから
C:\Python25\PyProtocols-0.9.3>python setup.py --without-speedups install

続いて、サンプルを動かしてみる。
C:\Python25>viewer.py demo1.py
Traceback (most recent call last):
File "C:\Python25\Scripts\viewer.py", line 63, in
from cgkit.all import *
File "C:\Python25\Lib\site-packages\cgkit\all\__init__.py", line 46, in
from cgkit import _core
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

上記のエラーが出る場合はMicrosoft C++ Runtime Libraryがない。

msvcp71.dllを探してきて、Python25フォルダに入れておくとcgkitは動きます。
  • -
  • -

No module named pygame

XPマシンで久々、python cgkitを使おうとしたら、
下記のエラー
Traceback (most recent call last):
File "C:\Python25\Scripts\viewer.py", line 56, in ?
import pygame
ImportError: No module named pygame

pygameはインストールされているし、おかしい。
最新版を入れなおしても、同じ。
最近は、メタセコイアpythonを利用している。新たに
python223jp-20030608.exeをインストールしていた。cgkitが動いている別のマシンに、このPython2.2.3日本語環境をインストールしたら、上記のエラーが出た。特別なモジュールを利用しないならば、2.2.3はアンインストールしても良いか。
アンインストールしたところ、今度は、viewer.pyがpython2.5.4で認識せず、python2.5.4とcgkitをアンインストールして再インストールした。
ちょっと、面倒なことになりましたが、cgkit動いています。

Windows Vistaではどうだったか、確認する必要があります。
Vista 64bitでは、両方インストールされても動きました。
ありがとうございます。

うーん、・・・Windows7 64bitでは、併用できないようです。・・・?
  • -
  • -

Mac OS X 10.6.6(Snow Leopard)にcgkitインストール

Mac OS Xに入っているPythonは、
Leopard → 2.5.1、
Snow Leopard → 2.5.5、2.6.1、
Lion → 2.5.5、2.6.6、2.7.1 が最初からインストールされています。

cgkitをダウンロードしインストール設定してみました。参考にしたのは下記のサイトです。
ありがとうございます。
Python cgkit 2.o on (Snow) Leopard
http://sites.google.com/site/lefranckcom/home/pythoncgkit2oonsnowleopard

■http://www.macports.org/install.phpからMacPorts-2.0.3.pkgをダウンロード
し、インストールします。

■ターミナルを開き、
$ sudo port install python26 scons boost +python26

と入力します。管理者パスワードを入れるとダウンロードがはじまります。
boost_python libraryなどコンパイルされインストールがはじまります。とても長く、しばらく時間がかかります。python27もインストールされました。

cgkitを使うためには、新たにインストールしたpython2.6を使っていきます。サポートライブラリをコンパイルするためです。以下PATHの設定を書き換えます。

$ cd ~
でホームディレクトリに行き、ls -aで.bash_profileがあるか確認します。

$ nano .bash_profile
でnanoエディタを開き
#PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"

PATH=/opt/local/bin/python2.6:$PATH
export PATH

これをなるべく上の行に書き加えます。保存して終了します。
PATHを反映させるために
$ source .bash_profile

$ echo $PATH
で書き加えたPATHが入っているか確認します。

$ python2.6
と打つとビルドした日付が出ます。
$ which python2.6
/opt/local/bin/python2.6

■Compiling the support library
cgkitを入手します。
http://sourceforge.net/projects/cgkit/files/cgkit/
cgkit-2.0.0alpha9.tar.gzをダウンロードします。
cgkit-2.0.0alpha9-py2.5-macosx10.4.dmgは使えません。

cgkit-2.0.0alpha9.tar.gzを解凍します。

$ cd cgkit-2.0.0alpha9/
$ cd supportlib/
$ cd src/
$ nano polyhedrongeom.cpp

line 401行目,
typedef GLvoid (CALLBACK *TessCallback)(...);

以下のように書き換えて保存します。
typedef GLvoid (CALLBACK *TessCallback)();

$ cd ..
一つ上に上がり、
$ nano SConstruct

SConstruct を開きline 38行目:
env.Append(CCFLAGS = ["-arch", "i386", "-arch", "ppc"])

env.Append(CCFLAGS = ["-arch", "x86_64"])
に書き換えます。64ビットでコンパイルできるようにします。

$ scons
と入力するとサポートライブラリのコンパイルがはじまります。

$ cd ..
一つ上に上がり、
$ cp config_template.cfg config.cfg
コピーをつくります。
config.cfgを開き

46行目:
BOOST_LIB = "boost_python"
のコメント#を消します。

118, 119行目を次のようにします。
INC_DIRS += ["/opt/local/include"]
LIB_DIRS += ["/opt/local/lib"]

以上を変更保存します。次にビルドします。

$ python2.6 setup.py build

続いて
$ sudo python2.6 setup.py install

以上でcgkitできあがりです。
チェックしてみましょう。
$ cd utilities/
$ python2.6 checkenv.py
-------------------------------------------------------------------
Python 2.6.7 (r267:88850, Jan 13 2012, 17:06:12)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
Platform: darwin
-------------------------------------------------------------------
Python version: 2.6........... OK
PyProtocols................... is installed
PyOpenGL...................... is installed
PIL........................... is installed
pygame........................ is installed
PyODE......................... is installed
PySerial...................... is installed
cgkit (base).................. 2.0.0alpha9 (Jan 24 2012, 00:13)
cgkit (C++ lib)............... OK
cgkit (all)................... OK

cgkitでOKが出ていれば成功です。
ところで、上記のPyProtocols...PyOpenGL...PIL..pygame...PyODE..PySerial..はmissingになっていると思います。まだ完全にcgkitは動いてくれません。後ほどMacPortsを使ってPyProtocols以外は、インストールすることができます。

続いて複数のpythonが入っているように設定を変えます。
現在切り替えられるpythonを確認するために
$ port select --list python

とすると、
Available versions for python:
none
python25-apple
python26
python26-apple
python27

複数のpythonがでてきます。現在activeなのはありません。バージョンを切り替えるには、
$ sudo port select --set python python26

で切り替わります。
Available versions for python:
none
python25-apple
python26 (active)
python26-apple
python27


PILはいくつかのライブラリに依存しています。Python Imaging Libraryインストール
$ port search py26-pil
$ port deps py26-pil
$ sudo port install py26-pil

PyOpenGLインストール
$ port deps py26-opengl
$ sudo port install py26-opengl

PyODEインストール
$ port search py26-ode
$ port deps py26-ode
$ sudo port install py26-ode

pygameインストール
$ port search py26-game
$ port deps py26-game
$ sudo port install py26-game

PySerialインストール
$ port search py26-serial
$ port deps py26-serial
$ sudo port install py26-serial

PyProtocolsインストール
PyProtocols-0.9.3をダウンロード
http://peak.telecommunity.com/
PyProtocols-0.9.3フォルダに移動し、
$ python2.6 setup.py --without-speedups install

RenderManレンダラ
3delight-10.0.4-Darwin-Universal.pkgをインストールし、
cgkitサイトのチュートリアルから
demo1.py
demo2.py
demo3.py
を保存します。

サンプルファイルがある場所で
$ viewer.py demo1.py
で動作するか確かめます。
さらに
$ render.py -r3delight demo1.py
Exporting main.rib...
1 passes...
Compiling shaders...
Preprocessing time: 0s
Rendering "out.tif" (frame 0)...
3DL ERROR: Two different displays can't write to the same file (will keep 'file' and ignore 'framebuffer')
Rendering time: 0s

$ $ i-display out.tif
out.jpg
  • -
  • -

1/3 >>