標準レンダラ大好きっ子としては、3dsmaxでオクルージョンパスを欲しいがためにMentalRayに切り替えるのがうっとうしい。
自前でマテリアル作ったらどうかと調べてみた。とはいえC++もしらんしmaxのAPIの内容も知らんけど。まぁちょっとづつやってけば何とかなるかな。10年後ぐらいに。
わかりやすいのがここら辺。Ambient Occlusion
- 任意のサーフェイスから法線方向のヘミスフィアへランダムにレイを飛ばす。
- (他のオブジェクトによって遮蔽されたレイの数/飛ばしたレイの数) = 遮蔽率
- 完全遮蔽1.0から遮蔽率を引いて、さらに普通に計算された色にかける。
言葉で書くだけならものすご〜く簡単そう。でも「ランダムにレイを飛ばす」ってところがムヅイんでしょうな。アニメーションを通して一定しないと困るし。
デプスマップを使う方法もあるらしい、だとすればスキャンラインでも可能ってことか?以下のものはリアルタイムでやってるみたい。
All-Frequency Shadows
Ambient Occlusion Fields
ところでデプスマップってなんだ。使いかたを知っていても実際どうやって計算されているものなんだろ。普段使ってる3Dソフトもフタをあけりゃなんのこっちゃ分からない。まぁボチボチやってこ。
nVIDIAからGelato2.0のリリースとかもあったりするのでCgとかを勉強するのも良いかもね。
仕事詰めだった連休もようやく終わり!、夕方には作業終わるかな。来週はパァ〜っと休みたい、休めない。