More tracing, now with refraction!
投稿日時 2003年12月17日 | カテゴリ: Blender.org
|
More tracing, now with refraction!
ton氏が屈折を実装されています。ちなみにrefract_monkey.blend.gzはそのままblenderに突っ込めばOKです。 以下記事の一部翻訳。- MaterialButtonsWindowの"Ray Transp"ボタンで屈折が可能です。
- "Angular Index"の値で屈折の量を決めます。("IOR"になる予定です)
- "Alpha"の値で透明度を決めます。
- "Depth"の値を高く設定することも忘れないで下さい…ガラスでは実際には予期しているより多く反射が起こります。
- 正しい屈折のためには、3Dモデルはその法線が正しい方向(矛盾なく外側に向ける)に向いている必要があります。
- 屈折はあなたのモデルを元にしたガラスの厚さを見ます。よってリアルなグラスにするには両側の表面をつくりましょう。
- 私は正しい鏡面反射と屈折のためにいくつかコードを書き直す必要がありました。特にスペキュラが拡散されるのを防ぐためです。 rendercore.cのシェーディング結果をローカル化することにより、これを解決しました。現在はスペキュラは正しく加算されており、'mirror'値が減衰されています。
- レンダーコードのより多くの部分をローカル化しようと計画しています。旧レンダラーではグローバルに格納するため、Render構造体とOsa構造体に強く依存しています。スキャンラインレンダリングでは問題ありませんが、再帰的なレイトレースには好ましくありません。
- トレース中の色のガンマコレクションの総量によるテストは終わりましたが、まだコメントを控えます。しかし、これがよりバランスのとれた反射をもたらすことになります。現在、明るい表面で反射された暗い投影部分はおそらく間違っているでしょう。
- 鏡面と透明体のための「Fresnel(フレネル項)」効果の導入。この鏡面・透明体の量への影響は視線の角度を元にしています。 新しいFresnelスライダの次にはまた、'falloff'ボタンを拡散の方法を決めるために追加しています。
- また、FresnelはZtranspレンダリングでも働きます。 - レイトレース機能のために新しいPanelを作成。 私はまだ論理的にどこに配置するのが適切かを評価をする必要があります。
- Materialプレビューに仮の反射と屈折を表示しています。
|
|