Shadeフレネルのまとめ
実験からスタートして何度か考察をしてきた Shadeフレネルシリーズ ひとまずここらでまとめて区切りをつけておきたいと思います。本当はもっと前に書く予定だったんですが大事なメモを無くしてしまって書けないでいたところ、試験勉強してたらプリントの山からぽろっと出てきました(笑)。それではスタート。
フレネル反射とは
ある表面に光が入射したとき、その光の入射角と表面での屈折率に依存した反射が起こる現象。入射角が90度に近くなると反射率が1に近づく。感覚的に理解するにはまいこのShade教室にある
が理解しやすい。本トピックではShadeのフレネルスライダの謎を解明し、フレネルの式に一致する結果を得られるパラメータを目指す。
正確には、偏光が関係していてややこしいのだが、本トピックでは偏光はない(水平偏波と垂直偏波が 1:1 である)ものとして話を進める。考慮してもShadeじゃシミュレートできないので。
物理的に見たフレネル反射
フレネル反射による反射率をフレネルの式から計算すると次のようになる。屈折率は 1.33 (水)、縦軸は反射率、横軸は入射角。
- 参考: フレネルの式(内部リンク)
Shadeフレネルの振るまい
次に、Shadeのフレネルスライダの値(以下フレネル値)とそれに伴う反射率の変化についてまとめる。これには
- フレネル効果の計測(内部リンク)
で得られた結果を用いる。
先ほどと同じく入射角と反射率の関係。フレネル値は0.9。
つじつま合わせ
先の2つのグラフを見ると、Shadeのフレネルはそこそこ真面目に実装されているのが判る。ここまで出来て、どうして屈折率を与えたら自動でフレネルが付く仕様にしないのか不思議でならない。仕様は仕様なので、ここでは実際の屈折率から導き出される反射率と、フレネル値が作り出す反射率を一致させる努力をしてみる。
そこで、0度の時の反射率に注目してフレネル値を調整する方針を立ててみた。言うまでもなく90度のときの反射率は100%であり、また0度のときの反射率は最も低い。0度の時の反射率が正しければ、中間の角度での反射率は常に100%と0度の値との間にあるから、現実の値から大きく逸脱することはない。
具体的には実際にフレネルの式に屈折率を入力して得られた結果を、フレネル値と0度での反射率の関係のグラフ
から肉眼で読み取って対応するフレネル値を一つ一つ求めていく。読み取った結果は以下の通り。
屈折率 | フレネル値 |
---|---|
1.1 | 0.96 |
1.2 | 0.91 |
1.3 | 0.87 |
1.4 | 0.84 |
1.5 | 0.81 |
1.6 | 0.78 |
1.7 | 0.77 |
1.8 | 0.74 |
1.9 | 0.73 |
2.0 | 0.71 |
2.1 | 0.69 |
2.2 | 0.68 |
2.3 | 0.66 |
2.4 | 0.65 |
2.5 | 0.63 |
2.6 | 0.62 |
2.7 | 0.61 |
2.8 | 0.60 |
2.9 | 0.59 |
3.0 | 0.58 |
以上が屈折率とShadeのフレネル値との対応表になる。経験的に、フレネル値で0.8-0.9くらいの値を入れるとリアルに仕上がるようだが、現実の水や油、プラスチックをはじめとする樹脂の屈折率は 1.3-1.6 くらいだから、よく一致していると思う。
>>Delta式 フレネル値決定法
名前なんか付けるほどのことでもないのだけれど、小見出しが必要だったので付けてみた。
- フレネルのことは無視して表面材質をセットする。
- 反射率を (255,255,255) - (透明度+拡散反射) の値にする。(これが光の入射角が90°の時の表面の状態となる。本来は拡散反射がゼロとなって全て鏡面反射を起こすのが正しいが、Shadeではそれができないので誤魔化している。ここは感覚で多少調整しても良いかと思う。)
- 目指す材料の屈折率を調べ、セットする。よくわからないときは勘。物理定数なので特にアドバイスはない。
- セットした屈折率に対応するフレネル値を、表から選んでセットする。追記: CA3_Flesnelを使うと対応表が必要ないので便利である。
(ここから敬体)以上でフレネル値の実験考察のまとめを終わります。皆様のCGが目分量でパラメータを決めたときよりも現実味のあるCGに少しでも近づくお手伝いができましたら光栄です。以上で一連のフレネルシリーズは終了です。お粗末様でした。
本トピックの方法で描いたガラス球。
投稿者 | CASPAR003 |
投稿時刻 | 23:20 |
カテゴリー | Shade |
コメント | 0 件 |
トラックバック | 0 件 |
記事へのリンク | https://www.caspar003.info/delta/archive/2007/02/07/2320.html |
コメント
- 投稿者
トラックバック
- トラックバック