1/7 >>

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でレンダリング

メタセコイアのサンプルメカはUVマップされているので,
OBJで出力し,cgkitで記述してみる。
オブジェクトごとに指定してあげれば大丈夫。
------------------------------------------------
load("meka.obj")
meka01 = worldObject("body01")
floor = worldObject("obj1")

mat_meka01 = GLMaterial(
diffuse = (0.9,0.9,1),
texture = GLTexture("00tex_master.BMP",
mode = GL_DECAL,
transform = mat4().scaling(vec3(1,-1,1)))
)
meka01.setMaterial(mat_meka01)

mat_floor = GLMaterial(diffuse=(0.5,0.7,0.4))
floor.setMaterial(mat_floor)
----------------------------------------------
ライトも半影になるようにしてみる。
# ...and a spot light
lgt = GLTargetSpotLight(
pos = (-500,500,300),
target = (0,0,0),
cutoff=90.0,
exponent = 4,
intensity = 1.2
)
# The following line is used by the RenderMan exporter to create a shadow
# map. The value is a tuple (map resolution, width, blur, bias, samples)
lgt.shadowmap = (512, 1.0, 0.02, 0.02, 32)

# Create a distant light (that does not cast shadows)

GLTargetDistantLight(
pos = (-5,300,40),
target = (0,0,0),
intensity = 0.4
)
----------------------------------------------------------------
レンダリング結果 続きを読む>>
  • -
  • -

Python CG Kit

Pythonを使ってcgkitいろいろと試してみる。
RenderMan APIまわりとnoise()がわかりません。
grow.pyの設定できちんとしたRIBが出力されないとレンダリング時にハードディスクがカタカタとなり続けるヤバイ状態になるので何と関連しているか要チェックだ。
out0.png

とりあえず、勉強ですね。ランダムに球体を200個配置。-5から5の間で
うまくくみたいところ。勉強、勉強。ありがとうございます。
out.png
  • -
  • -

Cgkitの勉強

Python勉強中。
複数のモデルを繰り返しで作成。数学の復習です。
"""
for k in range(10, 100,5) :
for i in range(0, k) :
Sphere(
pos=vec3(k/10.0/math.pi*cos(2*math.pi/k*i),k/10.0/math.pi*sin(2*math.pi/k*i), 0.5),
radius=0.1,
material = GLMaterial(diffuse=(0.9,0.2,0.1)) #red
)
"""
うまくいかないと思ったら、整数10ではなくて、10.0で除算しないと1.5などの小数点が出てこなかったんだ。Pythonの基礎を繰り返し学習です。cgkit_sample

Houdiniの無償版をDL、これはこれでマシンスペックが問われるソフトウェアで、でかすぎます。挑みたいところ。
  • -
  • -

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
  • -
  • -

1/7 >>