Rendering学習日記

日々、3DCGの世界は進歩しています。勉強して理解したことをまとめていきます。RenderMan互換レンダラーやグローバル・イルミネーション。いろんなことに好奇心を持って、面白くなる。目指せShader書き!!
ありがとうございます。

MetasequoiaからRenderMan RIB出力

Metasequoiaをシェアウェア登録するとRenderMan RIBが出力できるが
デフォルトでは、カメラ位置は原点から1000離れたところ
distantlightは固定。
材質名がコメントアウトされて出力されたPolygonに割り当てられている。
エディタ使って、Surfaceシェーダを加えれば良い。
カメラ位置もpython scriptでなんとかなる。

問題はPolygonが三角形または四角形でバラバラになっているところである。これはAutoRIBで解決できた。
Polygon "P" [  ]
これをPointsPolygons [ ]に変換するInstructionが、
Objects {
ForNames "uma" {
CombinePolys
}
}
これで変換できました。
uma_poly.jpg
さらに、出力したRenderMan RIBをサブディビジョンサーフィスに変換します。

Objects {
ForNames "uma" {
ToSubdivision
}
}

uma_poly2.jpg

メタセコイアから出力したRenderMan RIBを左手系座標で出したので
下の記事と反対の足が上がっているのがわかります。
課題はありますが、実験して納得するのが一番ですね。
ありがとうございます。
  • -
  • -

jrManとAutoRIBでRenderManシャドーマップ生成

RenderManの勉強続けています。jrManを使って付属のソースGenCubes.javaから、立方体を生成する。
平面を設けて、distantlightを入れる。シャドーマップ生成はAutoRIBを利用した。
cube_auto.jpg
元ファイルは以下の通り、

Display "cubesauto2.tif" "framebuffer" "rgb"

PixelFilter "gaussian" 2 2
Format 800 600 1
PixelSamples 4 4
Exposure 1 2.2
Clipping 10 150
Projection "perspective" "fov" 30
Translate 0 0 75
Rotate -33 1 0 0
Rotate 23 0 1 0
WorldBegin
Declare "shadowmap" "string"
Declare "bias" "uniform float"
Declare "samples" "uniform float"
Declare "blur" "uniform float"
LightSource "distantlight" 1 "intensity" [1.0]
"from" [100 100 100] "to" [0 0 0]
"shadowmap" [""] "bias" [.1]
"samples" [128] "blur" [8]
LightSource "ambientlight" 2 "intensity" [.2]
#LightSource "distantlight" 3 "intensity" .2 "from" [1 0 -1] "to" [0 0 0]
ShadingRate 1
ReadArchive "cubeData10.rib"

AttributeBegin
Attribute "identifier" "name" ["floor"]
Surface "plastic"
Color [1 1 0.7]
Polygon "P" [-100 4 -100 -100 4 100 100 4 100 100 4 -100]
"st" [0 0 0 1 1 1 1 0]
AttributeEnd

WorldEnd


AutoRIBの自動マップ生成のShadowDistAutoを使う。Instruction Fileは以下の通り

Option "zdriver" "file"
Lights
{
ForShaders "light" "distantlight"
{
Omit "floor"
MapFormat 1024 1024
RenameShader "light" "shadowdistantlight"
ShadowDistAuto "shadowmap" 1.1
}
}


AutoRIBで生成したRenderMan RIBは、jrManでそのままレンダリングしようとするとエラーが出てしまう。jitterがつかえない。
#Hider "hidden" "jitter" [0] "depthfilter" "midpoint"コメントアウトする。
Display "cubesauto2_F_L1.z" "file" "z"を
Display "cubesauto2_F_L1.shad" "file" "z"と変更する。
jrManではMakeShadowを使わなくてもよいので、
#MakeShadow "cubesauto2_F_L1.z" "cubesauto2_F_L1.shad"とコメントアウトした。
jrManでレンダリングすると以下のように影の向きも変更できました。
ありがとうございます。
cube_auto2.jpg
  • -
  • -

autoRIBのダウンロード先

RenderManのシャドーマップや反射・環境マップを自動生成してくれ、サブディビジョンサーフィスも変換できる便利ツールです。
javaが必要です。JDKをインストールしておく必要があります。
また、ダウンロードしてLhaplusで解凍しましたが、2回解凍しないとファイルが出てきませんでした。

http://sourceforge.net/projects/autorib/


http://sourceforge.jp/projects/sfnet_autorib/
  • -
  • -
<< 11/12 >>