<< Pointlight ShadowMap生成 戻る OBJをAyamに読み込む。 >>

AreaLightを使う

Ayamのレンダラーを3Delightに設定して,サンプルのArealight.ayを試してみたが,うまくいかない。
出力されたRIBをいじってみる。
まず,レイトレーシングを行うので,WorldBeginの前に追加。

Attribute "visibility" "transmission" [ "opaque" ]

AreaLightSourceの次の行の,
Interior "arealight" "intensity" [ 150.000000 ] "lightcolor" [ 1.000000 1.000000 1.000000 ] を行削除。

Attribute "light" "nsamples" [ 16 ]を追加しておく。

すると,こんな感じになる。
Attribute "visibility" "transmission" [ "opaque" ]

WorldBegin
#Lights!
TransformBegin
ConcatTransform [ 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 ]

AttributeBegin
Attribute "light"
Declare "intensity" "float"
Declare "lightcolor" "color"
Attribute "light" "nsamples" [ 16 ]
AreaLightSource "arealight" 0 "intensity" [ 150.000000 ] "lightcolor" [ 1.000000 1.000000 1.000000 ]


AttributeBegin
TransformBegin
Translate 0.000000 12.634600 0.249141
Scale 10.000000 1.000000 10.000000
Patch "bilinear" "P" [ -0.500000 -0.000000 -0.500000 0.500000 -0.000000 -0.500000 -0.500000 0.000000 0.500000 0.500000 0.000000 0.500000 ]
TransformEnd
AttributeEnd

AttributeEnd

Illuminate 0 1
TransformEnd

これらの設定をAyamのTag部分に記述したりと設定ができると有り難いが
うまくいかない。

またBMRTに対応している以下の行は全て削除した。
Exposure 1.000000 1.000000
Quantize "rgba" 255 0 255 0.500000
Declare "minsamples" "integer"
Option "render" "minsamples" [ 4 ]
Declare "maxsamples" "integer"
Option "render" "maxsamples" [ 64 ]
Declare "max_raylevel" "integer"
Option "render" "max_raylevel" [ 8 ]
Declare "minshadowbias" "float"
Option "render" "minshadowbias" [ 0.010000 ]
Declare "prmanspecular" "integer"
Option "render" "prmanspecular" [ 1 ]
Declare "steps" "integer"
Option "radiosity" "steps" [ 64 ]
Declare "minpatchsamples" "integer"
Option "radiosity" "minpatchsamples" [ 4 ]
Declare "texturememory" "integer"
Option "limits" "texturememory" [ 10000 ]
Declare "geommemory" "integer"
Option "limits" "geommemory" [ 40000 ]

いろいろと試行錯誤ですね。


arealight_3dl_perfect.PNG
  • -
  • -

<< Pointlight ShadowMap生成 戻る OBJをAyamに読み込む。 >>