March 26, 2009

RenderManについて調べてみた Part2

RenderManについて調べてみた

どういったことができるのか、どういった仕組みなのかをどこから探っていけばいいのかを簡単にですが調べてみました。どうやら、3点を抑える必要があるようです。

RISpec(RenderMan Interface Specification)

RenderManのインターフェース仕様のことのようです。
詳しいことはRenderMan - Developers Corner - RI Specs に書いてあるみたい。

RIB(RenderMan Interface Bytestream)

RenderManにおける3次元形状情報のことを指すみたいです。
前回の、Ubuntu 8.10 と Pixie(RenderMan) インストール編でも出てきました。

# minimal.rib : minimal rib file
Display "minimal.tiff" "file" "rgba"
Projection "perspective"
WorldBegin
Translate 0 0 2
Sphere 1 -1 1 360
WorldEnd
1行目

コメントアウトは "#" でするみたい。

2行目

DIsplayでは結果の保存方法を指定するみたい。

  • 1番目の項目はファイル名について
  • 上記の例だと "minimal.tiff" をファイル名と指定しています。
  • 2番目の項目は結果の出力方法について
  • 結果を "file" として保存する指定にしているみたい。これを "framebuffer" とも指定できるみたいで、そうすると画面に直接表示されるみたいです。
  • 3番目の項目は保存するデータの種類について
  • "rgba" となっているので、赤緑青と不透明度(アルファチャンネル)の指定できるみたい。
3行目

Projectionによって、投影方法を指定できるようです。ここで投影方法を指定しない場合は、平行投影 ("orthographic")が適応されるみたいです。例だと、透視投影("perspective")を指定してますね。

なお、投影方法だけを指定しているらしく、カメラは原点に存在していてZ軸正方向を向いているようです。

4?7行目

WorldBeing・・・WorldEndの中に物体の形や色などの情報を指定するようです。WorldBeginは様々な設定が終了し描画準備を始めることを示していて、対するWorldEndは3次元形状の設定が終わり、結果を出力することを示すようです。

この部分のことをワールドブロックと呼ぶようです。

もうちょっと調べないとダメですね。情報が少なすぎる。

RSL(Renderman Shading Language)

RenderManのシェーディング言語のことのようです。Wikipedia には"The Language syntax is C-like"とありますね。それから、シェーダーをクラスとして記述できるみたいです。

メモとして

Class 2: Intro' to shader writing: RSL (RenderMan Shading Language)

RManNotes

RenderMan 入門 | 初めてのレンダリング

RenderManについて

RenderManのお勉強(シェーダ言語とは)