<< 3/15 >>

Air Rendererのシャドーマップ その1

Air, SiTex Graphics' advanced 3D rendering software
Airで悩んでしまう。シャドーマップを生成しないからどうして?

原因:コマンドで
>air -d hoge.rib
とオプションの-dをつけたまま、ディスプレイ表示させていたのでshadowmapが出力されなかった。

>air hoge.rib

で解決した。くりかえしくりかえしですね。

MacintoshからPresenter3Dを立ち上げてRIB出力。
Windowsに持ってきて、改行コードを変換。
Airでレンダリングしてみた。
Shadowdistantがなかったので、
RC本のサンプルを
http://web.engr.oregonstate.edu/~mjb/prman/shaders/利用しました。ありがとうございます。
youki.jpg
  • -
  • -

VIDI Presenter3Dでdisplacement

既にVIDIはクローズしていますが、昨日から触っているといろいろとわかって面白いところです。
MacRenderManを使って、ディスプレイスメントのアニメーションも14年前にできていた訳ですから、ちょっと驚きです。
clothシェーダを割り当ててみました。
ドラッグ&ドロップでできてしまう。簡単です。RIB出力していじってみるのも勉強になります。ありがとうございます。
spheretest.JPG
  • -
  • -

MacからDisplacement設定

MacOS8.6で動いているPresenter3DからMacRenderManを使ってdisplacementboundの設定をするがうまく反映がされない。以下のようなアーティファクトを回避したいのだが、Presenter3Dでは設定がきいていない。
spheres0.JPG
RIB書き出してみると、
Attribute "displacementbound" "sphere" [0.2] "coordinatesystem" ["shader"]
のような一行が見当たらない。


Attribute "dice" "binary" [1]←これを挿入
WorldBegin
Sides 2
AttributeBegin
Attribute "identifier" "name" "Design"
Surface "plastic" "Ka" [1] "Kd" [1] "Ks" [0] "roughness" [0.0999999] "specularcolor" [1 1 1]
AttributeBegin
Attribute "identifier" "shadinggroup" "disp2"
TransformBegin
Transform [1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1]
Attribute "displacementbound" "sphere" [0.2] "coordinatesystem" ["shader"]←これを挿入
Displacement "LGBrickBump"
"jagged" [0.006]
"brickwidth" [0.25]
"brickheight" [0.08]
"mortarthickness" [0.01]
"rowvary" [0.25]
"pitting" [0.01]
"pockfrequency" [10]
"groovedepth" [0.01]

と書き込んでみた。
レンダリング時間はかかるけど、きれいにできました。なかなか勉強になります。
ありがとうございます。
spheres1.JPG
  • -
  • -

MacRenderManのシャドーマップ

Presenter3Dでは、レイトレーシングもできるが、ここはあえてMacRenderManを使っていろいろ実験中。
ずっと、やってて床面にモアレ模様が気になっていた。
通常は、
Hider "hidden" "string depthfilter" ["midpoint"]
と一行加えるところだが、MacRenderManはバージョン古いんで対応していない。

Presenter3DのRenderManのDefault Setting部分に
Shadow Qualityの設定があった。
デフォルトはStandardになっている。
ここをFineに設定してレンダリングしたら、モアレ模様は消えてくれました。ありがたい。
RIB出力するとシャドーマップのサイズが小さいからですね。

ChunkyはFormat 128 128
StandardはFormat 256 256
FineはFormat 512 512

ということで、以下の画像をつくってみました。
ちなみにShaderは、BMRTのシェーダをMacの改行コードに変換。大文字ファイル名を小文字に一括変換し、PixarShaderAppで変換した。
多少、コンパイルエラーがありますが、大体使えて面白いです。

Chunky
sphere_chunky3.JPG

Standard
sphere3_std.JPG

Fine
sphere3.JPG
  • -
  • -

Air Rendererのシャドーマップ その2

SiTexのAirを使ってシャドーマップのサイズを大きくとってみた。
Format 4096 4096
ライトはshadowdistant
●シャドーマップ生成
# Shadow file frame for distant light.
Display "shadow.z" "zfile" "z"
Format 4096 4096 1
Projection "orthographic"

●シャドーマップの変換
MakeShadow "shadow.z" "shadow.map"

●ライト部分
LightSource "shadowdistant" 2 "string shadowname" "shadow.map"
"intensity" [1] "lightcolor" [0.933348 0.933348 0.933348] "from" [-1.05777 0.477282 -0.279391] "to" [-0.0482423 -0.0485686 -0.156434]

シャドーマップの出力サイズは約64MB
変換後2MBになった。
レンダリング時間はペンティアム4の2.4GHzで7秒

きれいに出ました。ありがとうございます。
youki4096.jpg
  • -
  • -

MacRenderManの練習

MacRenderManのバージョンはPowerPC版で、
PhotoRealistic RenderMan 3.5(1.3.5)-(C)1988-92 Pixar.だった。

clothシェーダーはディスプレイスメントシェーダーであり
freq(波数)、depth(深度)の調整をしました。
freq 20, depth 0.04

・Shadowmapを512にし、640×480でMacRenderManで出力してみたら、
画像に亀裂が入るアーティファクトが発生した。Presenter3Dのカメラからバックグラウンド設定として画像を貼り付ける。
レンダリング時間3分45秒
spheretest_dis2.JPG



・Attribute "dice" "binary" [1]←これをPresenter3D MacRenderMan DefaultSettingのヘッダ部分に挿入
レンダリング時間4分56秒。まだ亀裂あり。

・Attribute "displacementbound" "sphere" [0.2] "coordinatesystem" ["shader"]←これをヘッダ部分に挿入
H06001 MpCreate:Can not allocate micropolygonでレンダリング中止


・Presenter3D MacRenderMan DefaultSettingでRIB出力。

Attribute "dice" "binary" [1]と
clothシェーダーにAttribute "displacementbound" "sphere" [0.2] "coordinatesystem" ["shader"]追加。
Pixar RenderAppでレンダリング。
レンダリング時間2分21秒
バックグラウンド設定は出力されないので、ImagerシェーダがMacRenderManで使えるかどうか・・・
フォトショップでレイヤー合成するのがベストかも。
sphere_displace.JPG
  • -
  • -

About RenderMan

MacRenderManのことについて書かれた記事にリンク貼ります。
RibFilterの使い方がまだ把握できていないところ。

「RenderManについて」です。
http://fukuma.milkcafe.to/CG/RenderMan.html

MacOS8.6で動くG3 500MHzのカード購入どうしましょう。検討。
  • -
  • -

RenderMan,レンダーマン、レンダマン

cyl.jpg
モデルデータの変換をあれこれやってみる。
やはりパッチで変換できるソフトが良いだろうか。いろいろと試してみるところ。opacityがちょっとゆるく変換されていたり、出力したRIBをのぞいてみなければわからない。
MacのPresenter3Dで変換した3DMFモデルデータがなぜか半透明。シェーダもPlasticで変更がきかない。力技でやるには、エディタだろうか。
地道にいろいろと調べてみるところです。
  • -
  • -

MacRenderManと比較する

MacOS8.6で動かしてるPresenter3DからRIB出力し、Win側でPRManとSitex Airで比較してみた。
使っているシェーダのパラメータ値は同じ、コンパイルしただけだ。MacRenderManはバージョン3.5の頃だから、比較してみるとレンダラーによって結果は異なってくる。このあたりの違いを調整するのは職人としてコツコツやる他ないようだ。
PRMan
spheretest_win2.jpg

AIR
spheretest2_air.jpg

PRManのImager "background"はシェーダとしては存在しないけど、レンダラーの中に実装されているようだ。
Imager "background" "color background" [0.2 0.4 0.6]
と記述した。
俄然、面白くなりますね。
ありがとうございます。
  • -
  • -

Imager "background"

MacRenderManにも
Imager "background" "color background" [0.2 0.4 0.6]
と記述したらレンダリングできましたね。PRManの中に実装されているようです。うれしいです。ありがとうございます。
下のと比べると一番きれいかな。レンダリング時間は2分19秒。
PowerMac G3 300MHzです。

MacRenderMan
sphere_displace_bg.JPG
  • -
  • -

<< 3/15 >>