Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Unity URP上でLTC(Linearly Transformed Cosines)によるエリアライトを実装してみました。 パストレーシングと同じようなクオリティのエリアライトがリアルタイムで動作して感動しました!発明された方は偉大!

54,515 Aufrufe • vor 2 Jahren •via X (Twitter)

9 Kommentare

Profilbild von がむ
がむvor 2 Jahren

実装途中でバグった結果を供養しておきます🙏 行列の乗算順序が間違っているという凡ミスでした…

Profilbild von がむ
がむvor 2 Jahren

LTC(Linearly Transformed Cosines)についてざっくり解説 1/n GGXなどの複雑なBRDFの分布を解析的に半球面上の積分することは不可能なので、パストレーシング等で数値的に積分する必要があり、従来はリアルタイムなエリアライトの実装は困難でした。

Profilbild von がむ
がむvor 2 Jahren

2/n 一方で、clamped cosineの単純な分布であれば、解析的に積分ができます。 clamped cosineの分布を線形変換(行列変換)することでGGXの分布を近似します。 GGX近似の逆変換した領域内でclamped cosineのエリアライトの部分を積分することで、なんとGGX分布の近似を解析的に積分できます!!

Profilbild von がむ
がむvor 2 Jahren

3/n GGX近似の逆変換の行列をLUTとして事前に計算しておけば、ランタイム時にはclamped cosineの積分を計算するだけなので、エリアライトをリアルタイムに実装できます。 LUTは64x64の小さい2DのテクスチャでOK ・U方向はroughness、V方向はNdotVに対応した値 ・LUTの中身は変換行列(の成分の一部)

Profilbild von がむ
がむvor 2 Jahren

ちなみに、LTCを発表した Eric Heitz さんはUnity Technologies所属でしたが、今はIntel所属みたいですね。

Profilbild von がむ
がむvor 2 Jahren

ゆるゆるシェーダー交流会の発表資料を公開しました! LTC(Linearly Transformed Cosines)によるエリアライトのUnity URP実装の解説です。

Profilbild von がむ
がむvor 2 Jahren

ブログも更新しました!

Profilbild von sherrice
sherricevor 2 Jahren

20年程前に3DCGをかじった者からすると、このクォリティのものがリアルタイムで動作し結果が瞬時にわかるのは感動ものですね。出力しては数値をいじり微調整…なんてしてたころとは雲泥の差です。

Profilbild von シンプルスター
シンプルスターvor 2 Jahren

なんというブレークスルー…

Ähnliche Videos