Rendering学習日記

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

AutoRIB その8

shadowdistantを含む、RenderMan RIB出力する際、
AutoRIBエラー表示でわかったこと。
java.lang.NullPointerException
java.lang.NullPointerException
at org.pqt.autorib.instr.InstrShadowDistAuto.process(InstrShadowDistAuto.java:81)
at org.pqt.autorib.instr.InstrBlockRequest.process(InstrBlockRequest.java:92)
at org.pqt.autorib.instr.InstrBlockRequest.process(InstrBlockRequest.java:92)
at org.pqt.autorib.instr.InstrWReader.process(InstrWReader.java:710)
at org.pqt.autorib.ProcessRIB.doProcessRIB(ProcessRIB.java:365)
at org.pqt.autorib.AutoRIBmain.main(AutoRIBmain.java:351)

RenderMan RIBに
Format 640 480 1
を記述していないと自動的にShadowDistAutoが働かないようです。
ひとつひとつ確認ですね。ありがとうございます。
  • -
  • -

AutoRIB その9 RenderMan RIB調整

RenderManのRIBファイルをAutoRIBで読み込んでエラーが出ないように
RIBファイルを調整しておく必要がある。

Colorは [1 1 1]と[ ]をつけておくこと。

"uniform float fov"は"fov"にすること。

Geometry "teapot"は使えないので、
ReadArchive "teapot.rib"を使います。

Formatは書き込んでおくこと。
  • -
  • -

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を左手系座標で出したので
下の記事と反対の足が上がっているのがわかります。
課題はありますが、実験して納得するのが一番ですね。
ありがとうございます。
  • -
  • -
<< 2/2