<< displacementbound 戻る RibFilter II ポイントライトを使う >>

RibFilter II

1995年に開発され、ニフティ、MACグラフィックスフォーラム、(コーシングラフィックス)で公開されたフリーウェアですが、使ってみました。MacOS8.6でやってみました。
編集したいRIBファイル中の Attribute をオブジェクトとして認識します。
オブジェクトに対するオプションの付加は、その Attribute の Identfier に対して識別子をつけることによって行い、identifer name とidentifer shadinggroup を区別せず、どちらも等価なオブジェクトとして扱います。

たとえば、スポットライト(pixarのshadowspot)として配置したいconeは、次のように定義して書き込んでおきます。
AttributeBegin
Attribute "identifier" "name" [ "lgt_LS_n1_i30_a40_d10_z1024" ]
TransformBegin
Translate -1 1 0
Rotate -45 0 0 1
Rotate 90 0 1 0
Cone 0.4 0.125 360
TransformEnd
AttributeEnd
cone8.jpg
_LS_n1_i30_a20_z1024 とすると、光源識別番号1、光源強度 30、  光源アングル 40(20x2)、シャドウマップサイズ 1024x1024 のスポット光源を生成 します。
_d10は光源アングルのデルタ値を10にします。(Deg. で指定、_LS のみ有効)

RibFiliterにRIBを読み込むとシャドーマップ生成RIBとメインRIBを出力してくれます。

■シャドーマップ生成RIB
Display "cone.rib.sdwMap.n1" "shadow" "z"
Format 1024 1024 1
ShadingRate 1.000000
Option "limits" "texturememory" [4096]
Projection "perspective" "fov" [120]
# applying multiple transformations

Rotate -45 1 0 0
Rotate -90 0 1 0
Translate 1 -1 -0
WorldBegin
・・・・・
・・・・・

■メインRIB
Option "limits" "zthreshold" [5 5 5]
#Option "shadow" "bias0" [30] "bias1" [10]
Option "limits" "texturememory" [4096]
Shutter 1 2
Display "cone8.tif" "framebuffer" "rgb"
Projection "perspective" "fov" 40
Format 320 240 1
Translate 0 0 3
Rotate -40 1 0 0
Rotate -20 0 1 0
WorldBegin

LightSource "shadowspot" 1 "from" [-1 1 0] "to" [-0.292893 0.292893 6.12323e-17] "lightcolor" [1 1 1] "intensity" [2] "coneangle" [1.0472] "conedeltaangle" [0.174533] "width" [2] "float samples" [32] "string shadowname" ["cone.rib.sdwMap.n1"]
LightSource "ambientlight" 2 "intensity" [0.2]
・・・・・
・・・・・
最初、影が表示されないなと試行錯誤していたら、原因は以下をコメントアウトしたら
動きました。
#Option "shadow" "bias0" [30] "bias1" [10]
cone8air.jpg
Airでも動かしてみました。うまくうごかないなとやっていましたが、
#Option "limits" "zthreshold" [5 5 5]
#Option "shadow" "bias0" [30] "bias1" [10]
をコメントアウトするのと、改行コードをMacからWindowsにしておかなければなりません。

いろいろと実験してみて、勉強ですね。ありがとうございます。
Ribfilter感謝しています。
Ribfilterはこちらにあります。 MacOS8.6で動きました。
  • -
  • -

<< displacementbound 戻る RibFilter II ポイントライトを使う >>