ToyBox のデフォルト値を RenderMan と同じ値に変更

Non-Commercial RenderMan を参考にして、画面サイズなどのデフォルト値を更新しました。
Essential RenderMan に載っている、最少の rib ファイルを少し修正した test1.rib を

# test1.rib - a minimal scene (cf. "Essential RenderMan" p.17)
Display "min.ppm" "file" "rgb"
Projection "perspective"
WorldBegin
    Translate 0 0 2
    Sphere 1 -1 1 360
WorldEnd

prman test1.rib としてレンダリングすると、次のような画像が出来上がります(画像は ppm を png 形式で保存しなおしたものです )。


どうやら RenderMan のデフォルト値は、
  • 画像サイズは 640 x 480
  • 画角は垂直画角で 90 度
のようです。デフォルトシェーダについては多分 plastic シェーダなのではないかと推測して、ToyBox 側は目視にて同様に設定しました。

同じ test1.rib を tb.exe test1.rib として生成した画像が次の画像です(こちらも ppm を png に変換したものを掲載しています)。


差分をとってみると、大体あっている感じです。
ただ、輪郭部分は大きく違うようで、どうも RenderMan の方は多面体で近似しているような雰囲気がありました。

レンダーマンといえばティーポットなので、ティーポットも ToyBox でレンダリングできればよいのですが、.teapots_RISShaders.rib の中を見ると SubdivisionMesh "catmull-clark" を実装しないと駄目っぽいので、しばらくは無理そうです。

コメント

このブログの人気の投稿

[ C# ] 複数ページからなる TIFF ファイルの作成方法

メモ: ffmpeg を用いた連番ファイルへの変換方法

連番 PPM から FFMpeg と huffyuv でロスレス動画作ってみたんだけど…