レイトレ合宿 9で発表したレンダラーの紹介スライドです
技術的なトピックとして以下のことを簡単に解説しています - ACES Tone Mapping - Spherical Caps VND sampling - Thin-Film Interference - Meta-Material BTDF(Minus IOR)
レンダラーのリポジトリ https://github.com/kinakomoti-321/Henjou-Renderer/tree/main
レンダラー紹介Henjou-RendererKinankomoti
View Slide
Henjou-Renderer・ Optix 7.7 , CUDA 12.1・ Multiple Importance Sampling・ Optix Denoiser・ Diney BRDF・ACES Film Tone Mapping・Spherical Caps VND sampling・Thin-Film Interference(干渉薄膜)・Metamaterial BTDF(負屈折率物質)
目標・ リファクタリング・ GGX周りの最適化・ Thin-Filmの実装・ Metamaterialの組み込み・ Multi-Scattering GGXの実装(できなかった)
実行できるようにする!!!!!!!!!!!※前回、本番環境で動かなかった
レンダラーの名前名前つけてみたい仏教用語とか良さそう
レンダラーの名前名前つけてみたい仏教用語とか良さそう「遍照(へんじょう)」
レンダラーの名前名前つけてみたい仏教用語とか良さそう「遍照(へんじょう)」意味 : あたりくまなく照らすこと
レンダラーの名前名前つけてみたい仏教用語とか良さそう「遍照(へんじょう)」意味 : あたりくまなく照らすことGI感ある言葉なので採用 Henjou-Renderer
Sceneテーマ寺 + いつもの仏陀像 + 水(メタマテリアル)フルスクラッチ3日で制作どう見ても千と千尋の油屋
Scene後光と台座の文字は梵語お寺で使われる古代インドの文字1文字で仏様を表したりする五十音に対応した文字もある
れ
れ い
れ い と
れ い と れ
れ い と れ が
れ い と れ が し
れ い と れ が し つ
れ い と れ が し つ ゆ
れ い と れ が し つ ゆ く
レイトレ合宿!
ACES Film Tone Mapping・ 映画とかに使われるコントラスト強めなTone Mapping・ 和風ホラーっぽくしたかったので採用・ 以下のサイトのフィッティング関数を使用https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ACES Filmic Tone Mapping Curve
ACES Film Tone Mapping
Spherical Caps VND sampling・ 可視法線分布サンプリング・ Sampling Visible GGX Normals with Spherical Caps・ [Heitz 2018]の方法より3 ~ 7 %程度の高速化・ 頻繁に呼び出すのでうれしい最適化
Thin-Film Interference・ 薄膜干渉・ 薄い膜の間で光が干渉し合う現象・ シャボン玉、油、錆びた鉄がなんか変な色になるやつetc.
Thin-Film Interference BSDF・ 一般に使われる薄膜干渉BSDFの手法・ A Practical Extension to Microfacet Theoryfor the Modeling of Varying Iridescence・ 薄膜干渉におけるフレネル値を計算する・ リアルタイムで計算可能
Thin-Film Interference BSDF・ 上層 IOR・ 薄膜 IOR、Thickness・ 下層 複素屈折率 or IOR
Thin-Film Interference・ 今回は軽量化のため、LUTを使用・ LUT生成 Unity アセットを制作・ フレネル値(0~1)のため、pngでも問題なく保存可能https://github.com/kinakomoti-321/TFI_LUTCreator
Artist Friendly Metallic Fresnel・ 複素屈折率の指定は非直感的・ Artist Friendly Metallic Fresnelを導入・ 2つの色から複素屈折率を算出してくれる
Thin-Film Interference薄膜 屈折率・ ior = 3.5下層 複素屈折率・ ior = (0.743506,0.99998,3.999995)・ κ = (0.6687595,0.006324492,1264.042)AO MapをThickness Mapとして使用thicknesscosθ
Meta-Material・ 自然界の物質にはない性質を持つ人工物質・ 材料工学で色々考えられている・ 代表的なのは負の屈折率を持つメタマテリアル
負屈折率の反射・スネルの法則𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin 𝜃𝑜ni, no∶屈折率 𝜃𝑖 : 入射角, 𝜃𝑜∶ 屈折角𝜃𝑖𝜃𝑜𝑛𝑖𝑛𝑜
負屈折率の反射・スネルの法則𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin 𝜃𝑜ni, no∶屈折率 𝜃𝑖 : 入射角, 𝜃𝑜∶ 屈折角・屈折率を負と考えると・・・? (𝑛𝑜→ −𝑛𝑜)𝑛𝑖sin 𝜃𝑖= −𝑛𝑜sin 𝜃𝑜 𝜃𝑖𝑛𝑖−𝑛𝑜
負屈折率の反射・スネルの法則𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin 𝜃𝑜ni, no∶屈折率 𝜃𝑖 : 入射角, 𝜃𝑜∶ 屈折角・屈折率を負と考えると・・・? (𝑛𝑜→ −𝑛𝑜)𝑛𝑖sin 𝜃𝑖= −𝑛𝑜sin 𝜃𝑜𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin(−𝜃𝑜)𝜃𝑖ー𝜃𝑜𝑛𝑖−𝑛𝑜
負屈折率の反射・スネルの法則𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin 𝜃𝑜ni, no∶屈折率 𝜃𝑖 : 入射角, 𝜃𝑜∶ 屈折角・屈折率を負と考えると・・・? (𝑛𝑜→ −𝑛𝑜)𝑛𝑖sin 𝜃𝑖= −𝑛𝑜sin 𝜃𝑜𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin(−𝜃𝑜)・ 屈折角が入射方向に向くようになる𝜃𝑖ー𝜃𝑜𝑛𝑖−𝑛𝑜
負屈折率の反射・スネルの法則𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin 𝜃𝑜ni, no∶屈折率 𝜃𝑖 : 入射角, 𝜃𝑜∶ 屈折角・屈折率を負と考えると・・・? (𝑛𝑜→ −𝑛𝑜)𝑛𝑖sin 𝜃𝑖= −𝑛𝑜sin 𝜃𝑜𝑛𝑖sin 𝜃𝑖= 𝑛𝑜sin(−𝜃𝑜)・ 屈折角が入射方向に向くようになる・ 面白そうなのでBTDFを考案してやってみた𝜃𝑖ー𝜃𝑜𝑛𝑖−𝑛𝑜
Meta-Material BTDF物理学的にはFresnelはマイナス取ったiorと一緒他も幾何的な部分は通常のIORと一緒なので屈折角の計算以外はIdeal Refract BTDFと同様𝑓 𝜔𝑖, 𝜔𝑜= 𝐹 𝜔𝑖, 𝑛1, 𝑛2𝑛𝑖2𝑛𝑜2𝛿(𝜔𝑜− 𝜔𝑇)cos 𝜃𝑜𝜃𝑖ー𝜃𝑜𝑛𝑖−𝑛𝑜𝜔𝑖𝜔𝑇
Meta-Material BTDF屈折角の計算は一度、通常の屈折を計算して対称にするだけで問題ない実装もこの対称操作を付けただけ𝜔𝑇= 𝑟𝑒𝑓𝑙𝑒𝑐𝑡(𝑟𝑒𝑓𝑟𝑎𝑐𝑡 𝜔𝑖, 𝑁, 𝑛𝑖, 𝑛𝑜, −𝑁)𝑛𝑖−𝑛𝑜𝜔𝑖𝜔𝑇𝑁−𝑁𝑟𝑒𝑓𝑟𝑎𝑐𝑡
Meta-Material BTDFこんな見た目になるMeta-Material IOR = -1.5通常のガラス IOR = 1.5
Meta-Material BTDFこんな見た目になる
Meta-Material BTDFこんな見た目になるMeta-Material IOR = -1.33通常の水 IOR = 1.33
Meta-Material BTDF
余談・ 負屈折率物質は赤外線の範囲で一応実現している・ 小さい回路で電磁波を操作して、疑似的にやってる・ 超高解像度レンズなどに応用されることが期待されてる
発表作品1280 × 720 (HD)10 fps6 second各フレーム 15spp
所感取りあえず提出できて、前回の雪辱を果たせたので良かった1サンプルがかなり重かった (15sppで4秒ほどかかった)MetaMaterial は通常のやつより反射回数を増やす感じがあるReSTIRあたりの実装マルチインスタンスTemporalな機能の追加絵作り的な事もちょっと目指したいColorGrading, PostEffectMotion
END