平面を設けて、distantlightを入れる。シャドーマップ生成はAutoRIBを利用した。
元ファイルは以下の通り、
Display "cubesauto2.tif" "framebuffer" "rgb"
PixelFilter "gaussian" 2 2
Format 800 600 1
PixelSamples 4 4
Exposure 1 2.2
Clipping 10 150
Projection "perspective" "fov" 30
Translate 0 0 75
Rotate -33 1 0 0
Rotate 23 0 1 0
WorldBegin
Declare "shadowmap" "string"
Declare "bias" "uniform float"
Declare "samples" "uniform float"
Declare "blur" "uniform float"
LightSource "distantlight" 1 "intensity" [1.0]
"from" [100 100 100] "to" [0 0 0]
"shadowmap" [""] "bias" [.1]
"samples" [128] "blur" [8]
LightSource "ambientlight" 2 "intensity" [.2]
#LightSource "distantlight" 3 "intensity" .2 "from" [1 0 -1] "to" [0 0 0]
ShadingRate 1
ReadArchive "cubeData10.rib"
AttributeBegin
Attribute "identifier" "name" ["floor"]
Surface "plastic"
Color [1 1 0.7]
Polygon "P" [-100 4 -100 -100 4 100 100 4 100 100 4 -100]
"st" [0 0 0 1 1 1 1 0]
AttributeEnd
WorldEnd
AutoRIBの自動マップ生成のShadowDistAutoを使う。Instruction Fileは以下の通り
Option "zdriver" "file"
Lights
{
ForShaders "light" "distantlight"
{
Omit "floor"
MapFormat 1024 1024
RenameShader "light" "shadowdistantlight"
ShadowDistAuto "shadowmap" 1.1
}
}
AutoRIBで生成したRenderMan RIBは、jrManでそのままレンダリングしようとするとエラーが出てしまう。jitterがつかえない。
#Hider "hidden" "jitter" [0] "depthfilter" "midpoint"コメントアウトする。
Display "cubesauto2_F_L1.z" "file" "z"を
Display "cubesauto2_F_L1.shad" "file" "z"と変更する。
jrManではMakeShadowを使わなくてもよいので、
#MakeShadow "cubesauto2_F_L1.z" "cubesauto2_F_L1.shad"とコメントアウトした。
jrManでレンダリングすると以下のように影の向きも変更できました。
ありがとうございます。
- -
- -