物理ベースシェーディング
物理ベースシェーディング (Physically-based shading、PBS) とは、物理法則をベースとしたシェーディングのことであり、物理ベースレンダリング (PBR) において使われている。PBSシェーディングモデルとしては、メタルネス (金属さ) ワークフローで有名な「Disney 原則BRDF」が代表的だが、それを拡張した「Disney BSDF」もある。これらをベースとしたシェーダーは、PBRシェーダーとも呼ばれている[1]。
物理ベースシェーディングは、写実的レンダリングだけでなく、非写実的レンダリング (NPR) にも使われている[2]。
歴史
2003年、三菱電機の研究拠点の一つ Mitsubishi Electric Research Laboratories (MERL) は、幅広いマテリアルの測定を行ってデータベース化したMERL BRDF Database[1]を発表した[3]。
その後、ウォルト・ディズニー・アニメーション・スタジオは、BRDF Explorer[2]を開発し、そのツールとMERL BRDF Databaseのデータを用いて新たなシェーディングモデルの開発を行い[3]、2012年、SIGGRAPH 2012 Courseの「Physically-Based Shading at Disney」の中で、「Disney “principled” BRDF」(Disney 原則BRDF) を発表した[4]。
2015年、DisneyはDisney BRDFに鏡面反射BSDF (反射+透過)とより正確な表面下散乱を統合したDisney BSDFを発表した[5]。
概要
物理ベースレンダリングにおいては、基本的にエネルギー保存の法則を守る必要がある。PBSのシェーダーモデルは、パラメータを変更してもエネルギーが保存されるようになっている[6]。なお、光の相反性については、透過を実装するために使われるBTDFに相反性が無いとされる[7]。
PBS対応の3Dファイル形式
物理ベースシェーディングのパラメーターに対応する3Dファイル形式が増えている:
旧来のシェーディングモデルとの違い
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Diffuse_reflection.gif/150px-Diffuse_reflection.gif)
拡散反射および鏡面反射
マイクロファセット (微細表面) 理論導入前のシェーディングモデルは、経験則に頼っていた。特にGPUによる固定パイプラインにおいて、拡散反射は完全拡散反射を前提とするランバート反射モデルのみであり[11]、鏡面反射は経験則のBlinn-Phong反射モデル(英語版)のみであった[12]。
マイクロファセット理論導入後、シェーディングモデルは「表面の粗さに対応する拡散反射モデル」 (オーレン・ネイヤー反射モデル等) と「表面の粗さに対応する鏡面反射モデル」 (Cook-Torranceモデル (Beckmann分布関数ベース)、Walterモデル (GGX分布関数ベース)等) の合成となった。しかし、拡散反射のオーレン・ネイヤー反射モデルがフレネル反射に未対応であったり[13]、拡散反射のオーレン・ネイヤー反射モデルと鏡面反射の反射モデルでラフネス相当のパラメータの範囲が異なっていたり[14]など、問題が多かった。
2012年、「Disney 原則BRDF」が登場し、独自の拡散反射モデル (Disney diffuse BRDF)と、GTR分布関数 (GGX分布関数を拡張したもの) ベースの鏡面反射モデルの合成により、両反射モデルのラフネスパラメータが統合された。また、メタルネス (金属さ) が導入され、光の透過や表面下散乱 (含拡散反射) のほぼ起きない「導体 (金属) 」[note 1]と、金属光沢 (鏡面反射色のある強い鏡面反射) の起きない「誘電体 (非金属)」が別扱いされるようになった。また、影響の大きな色である導体の鏡面反射色および誘電体の拡散反射色が基本色 (ベースカラー)として同一に扱われるようになった。
2014年、マイクロファセット理論におけるフレネル反射の計算に、屈折率1.2〜2.2を近似した従来のSchlickの近似式(英語版)に代わって、正確なGulbrandsenのフレネル方程式が登場した[15][16]ものの、Gulbrandsenのフレネル方程式はRGBレンダリングにおいて近似となり、Schlickの近似式よりも正確では無いものとなっていた[15][16]。2019年、LucusFilm の Naty Hoffman によってそれらよりも正確な F82パラメータ(82度における反射率)の導入が提案された[15][17]ものの、F82パラメータはエネルギーの保存に問題が存在した[18]。2021年、「Adobe Standard Material」が登場し、そこにはその改良版である F82-tint(82度における色合い)が導入された[18]。
2015年、「Disney 原則BSDF」が登場し、鏡面反射における多重散乱効果を手動で補正するためのSheenコンポーネントが導入された[19]。2016年、従来の単一散乱のみの鏡面反射モデルに代わって、多重散乱をシミュレーションする鏡面反射モデルの Multiscatter GGX が登場した[20]ものの、この手法は計算の正確な代わりに速度の遅いものとなっていた[19]。その後、Multiscatter GGX を近似やルックアップテーブルなどによって高速化したモデルが多数登場していく。2017年には相反性を維持したまま高速化する Kulla and Conty の手法が登場し[21][19]、2019年には相反性が崩れるもののサンプリングを最適化した Emmanuel の手法が登場する[19]。またリアルタイムで多重散乱を再現するための手法も多数登場した[22][23][24]。
なお、拡散反射は表面下散乱の近似だとされているが、表面下散乱の距離が0に近い場合、一般的な拡散反射モデルに使われている完全拡散反射 (ランバート反射) とはならず、Chandrasekhar BRDFとなる[21][25]。
異方性反射
1992年、経験則に基づく高速な異方性鏡面反射に対応するWard BRDFが登場する[26][27]も、グレージング角でのエネルギーの保存に問題があった[28]ほか、バイアス無しのサンプリングも不可能となっていた[28]。1997年にはPhongローブを用いてエネルギーを保存しながら異方性反射を行うLafortuneモデルが登場する[29][30]も、フィッティング向けでありアーティスト向けではないという問題が存在した[28]。
2000年、これらの問題を解決するためのAshikhmin-Shirleyモデルが登場する[31]も、シャドウイング項に不連続性が存在した[32]。2007年、その不連続性の問題を解決するAshikhmin-Premozeモデルが登場した[32]。
2010年、Kurtらによって前述のBeckmann分布関数に異方性が導入され[32]、2012年、「Disney 原則BRDF」で前述のGTR分布関数に異方性が導入された[33]。
クロス (Sheen)
1992年、Westinらはモンテカルロ法を用いてマイクロスケールジオメトリの散乱から球面調和関数 (SH) ベースのBRDFへとフィッティングする手法を開発し[30][34]、その手法をベルベットや織物へと導入した[34]。
2000年、Ashikhminらはガウス分布ベースのマイクロファセットBRDFモデルの生成手法を開発し、その手法をベルベットやサテンへと導入した[35]。
2012年、「Disney 原則BRDF」で布地向けとして追加のSchlick Fresnelローブによるsheenパラメータが導入される[36]も、前方散乱のみであり後方散乱の欠いたものとなっていた[37]。
2017年、ソニー・ピクチャーズ・イメージワークスは乗正弦波を用いて後方散乱に対応するCharlie sheenモデルを開発する[38][39][37]も、逆に前方散乱はほとんど無いものとなっていた[37]。
2022年、Disneyらはそれらの問題を解決するLTCベースのsheenモデルを開発した[37]。
表面下散乱
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/BSSDF01_400.svg/220px-BSSDF01_400.svg.png)
表面下散乱では1993年、BRDFを表面下散乱へと近似したHanrahan-Krueger BRDFが登場した[40]。
2001年、医療物理学向けの手法の応用により、双極子 (Dipole) モデルを用いたBSSRDFベースのレンダリング手法が確立された[41][40]ものの、多重散乱部分は近似となっていた[42]。
2015年、拡散モデル向けに単一散乱および多重散乱の両方を同時に近似したChristensen-Burley拡散プロファイルが登場し[40][42][43]、この拡散プロファイルは同年のDisney BSDFでも採用された[42]。
しかし、拡散モデルは平らな表面を前提としているために曲率の高い表面でアーティファクトが多く[44]、Disney BSDFでは正確でアーティファクトの少ないPath-traced subsurface scattering (ランダムウォーク方式) も検討された[42]。2014年には原子力学で使われていたゼロ分散なDwivediサンプリングをランダムウォーク方式の表面下散乱に使うことが提案されており[45][note 2][46]、2016年にはその改良版が登場し[47]、多くのレンダラーがランダムウォーク方式に対応していった。
2017年、Disney子会社のPixarはPath-traced subsurface scatteringの新たなモデルを公開した[44]。このPixarの論文では異方性に加えてランベルト・ベールの法則よりも正確な非指数関数モデルが導入された[48][49]。
リアルタイム表面下散乱
リアルタイムにおける表面下散乱の表現では当初、擬似的なHalf-Lambertシェーダーが使われていた。その後、Wrapped Diffuseシェーダーにルックアップテーブルでカラーシフトを加える手法、深度マップを用いた吸収の近似、テクスチャ空間でのガウシアンぼかしによる拡散の近似が登場した[50]。
2009年、テクスチャ空間の代わりにスクリーン空間でぼかし処理を行うScreen Space Subsurface Scattering (SSSSS)が登場した[51]。2012年にはスクリーン空間でのぼかし処理を2つの畳み込みまで減らして高速化したSeparable Subsurface Scattering (SSSS)が登場した[52]。Disney BSDF登場後は、ガウシアン拡散プロファイルの代わりにChristensen-Burley拡散プロファイルが使われるようにもなった[53]。
また、表面下散乱の透過のために、焼き付けたThicknessマップも使われるようになった[54]。
透過・半透明
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7f/Bidirectional_scattering_distribution_function.svg/220px-Bidirectional_scattering_distribution_function.svg.png)
レイトレーシング導入前の透過には、2次元的なアルファブレンドが用いられていた。
レイトレーシング導入後、屈折の再現が可能となった。また、ランベルト・ベールの法則に基づく指数関数的減衰の再現により、半透明における、より正しい体積吸収 (ボリュームアブソープション) の再現が可能となった (なお、ランベルト・ベールの法則は関与媒体が無相関の場合のみ正確となる[49])。
また、位相関数を用いたボリュームレンダリングも行われるようになった (#ボリューム (体積)も参照)。
薄いサーフィスにおいては、「表面下散乱による拡散透過」が導入された[55]ほか、屈折にもマイクロファセット理論が導入され、粗い (ラフネスの高い) 表面により拡散された拡散透過および鏡面透過の再現が可能となった。
薄膜干渉
単一層の薄膜干渉では1992年に Smits and Meyer の手法が登場したものの、制約の多いものとなっていた[56]。
2017年、単一層の薄膜干渉にマイクロファセット理論が導入され、ラフな表面でも薄膜干渉の再現が可能となった[56]。
電磁スペクトル
3DCGのレンダリングでは昔より可視光の電磁スペクトルを考慮した物理的なスペクトラルレンダリングが考案されMaxwell Renderなどの一部のレンダラーに実装されていたも[57]のの、多数の固定波長によるスペクトラルレンダリングでは速度の問題が存在する一方、各単一波長でのモンテカルロレイトレーシングによるスペクトラルレンダリングでは色ノイズの問題が存在しており[58]、一般的なレンダリングの主流は長らく非物理的な光の三原色(RGB、赤-緑-青)によるRGBレンダリングに留まっていた[59][57]。しかしながらRGBレンダリングには反射を繰り返すごとに色がズレていく[58][59]、条件等色(英語版)(メタメリズム)の再現が出来ない[58][59]、光の分散や干渉や蛍光(増白も含む)が近似計算になる[59]などの問題が存在していた。
2014年に代表波長スペクトラルサンプリング (Hero Wavelength Spectral Sampling) が登場する[57]と、四波長ないし八波長での処理により、よりノイズの少ないスペクトラルレンダリングが可能となった[58]。
スペクトラルアップサンプリング
スペクトラルレンダリングでRGB値指定のマテリアルや光源を扱うためにはスペクトルの再構築(通称アップサンプリング)が必要となる。
アップサンプリングの手法は古くより存在していたものの、1935年のMacAdam法はスペクトル形状を箱型として扱っており非常に荒いものとなっていた[60]。滑らかなアップサンプリング法としては1989年にGlassnerによって平滑化関数の線形結合を使用する手法が登場した[61]ものの、実際の物質の反射率曲線は滑らかではないという問題が存在しており[62]、1990年にはvan Trigtによって最小勾配二乗法を使用する手法が登場した[63]。しかしながら、これらにはどちらも負の反射率が算出されうるという問題が存在していた[63][61]。
その後、1999年にSmitsによってスペクトルを10個の箱型にした実用的なアップサンプリング法が登場し[60][64]広く使われることとなった。しかしながら、この手法は狭色域のsRGB色空間でしか正しく動作しないという問題を抱えていた[65][64]。この問題を解決する手法はいくつか提案されているものの、2021年現在もプロダクションレンダラーのManukaではこの手法の変種が使われており、そこでは広色域もsRGB色空間へと変換された後でアップサンプリングされている[66]。
また各スペクトルの反射率は光が増幅しないよう 1.0 を超えることが出来ないが、それによって指定されたRGB色の彩度が高い場合に明るさを再現できないケースが存在し、2019年にはその問題を解決するために蛍光を考慮した蛍光アップサンプリング法が登場した[67]。
Disney 原則BRDF以降のパラメータ
「Disney 原則BRDF」はBRDF(反射)のみとなっていたが、「Disney 原則BSDF」でBTDF(透過)が加わってBSDFとなり、また各種拡張でEDF(放射)やVDF(ボリューム)も追加されていった。
「Disney 原則BRDF」には、ベースカラー (アルベド)、メタルネス (金属度)、ラフネス (粗さ)、スペキュラレベル (鏡面反射量) だけでなく、表面下 (サブサーフィス)や異方性 (アニソトロピック)やツヤ (Sheen)(英語版)やクリア塗装 (クリアコート)も含まれている[4]。しかし、物理ベースシェーディングの実装によっては、それらの幾つかが省略されているものもある。
Disney 原則BRDFのパラメータ
ディズニーの「Disney 原則BRDF」にあるパラメータは以下となっている[4]。
- メタルネス (金属さ、金属度、メタリック)
- メタルネスパラメータは誘電体 (非金属)か導体 (金属)かを指定する。中間を指定すると、誘電体と導体がブレンド (ミックス)される。
- 誘電体では、光が入射すると正反射光と屈折光に分かれ、屈折光が表面下で散乱・吸収され散乱光 (拡散反射光を含む) となったり[68]、透過・吸収されて透過光となる。導体では、光が入射すると一部の光が屈折して吸収され[68]、それ以外の光が正反射される。
- ベースカラー (アルベド)
- ベースカラーパラメータは、誘電体の拡散反射色および導体の正反射色を指定する[1]。
- ラフネス (粗さ、粗度)
- ラフネスパラメータは、微細表面 (マイクロファセット) 理論に基づくマイクロスケールでの表面の粗さを指定する (なお、メソスケールの粗さについては法線マップで再現する必要がある)。
- ラフネスが高いほど、正反射光、屈折光および散乱光が表面で拡散することとなる。なお、誘電体か導体かに関わらず全てのマテリアルはフレネル反射を持つが、ラフネスが高くなるほどフレネル反射は小さくなる。
- 一部のPBS実装では、ラフネス (粗さ)の代わりにグロシネス (光沢度、滑らかさ)で実装されている (GGX/GTR鏡面反射モデルにおいては、ラフネス = 1.0 - グロシネス)。
- スペキュラレベル (鏡面反射量、単にスペキュラとも書かれる)
- スペキュラレベルパラメータは、誘電体の鏡面反射率を0.08 (8%) で割って指定する[69]。スペキュラレベルは屈折率 (IOR) から算出することもできる: (((ior-1)/(ior+1))**2)/0.08 [1]。
- スペキュラレベルの標準値は0.5 (= IOR 1.5) となっている。glTF形式ではKHR_materials_specular拡張で対応しているものの、標準値は1.0となっている[70]。
- スペキュラティント (鏡面反射の色味)
- スペキュラティントパラメータは、誘電体の正反射色をどれだけベースカラーに近づけるかを指定する (なお、導体の正反射色はベースカラーと同等)。なお、スペキュラティントは、フルネル反射の反射色に影響を及ぼさない[4]。
- glTF形式のKHR_materials_specular拡張では色味ではなくスペキュラカラー (鏡面反射色) となっている[70]。
- サブサーフィス (表面下)
- サブサーフィスパラメータは、誘電体において、表面下で散乱された散乱光が拡散反射形に近いか表面下散乱形に近いかを指定する[71]。
- 「Disney 原則BRDF」において表面下散乱は、Hanrahan-Krueger BSDFにインスパイアされた薄い散乱層向けの近似モデルを採用している[71][4]。一方、Disney BSDFでは、従来の薄い散乱層向けの表面下散乱は、サブサーフィスパラメータからThinサーフィスBSDFのフラットネス (平坦さ) パラメータへと変更され[72][73]、SolidサーフィスBSDFのサブサーフィスには、より正確な表面下散乱として、独自の拡散プロファイルによる近似 (Christensen-Burley方式)、もしくは曲率の高いサーフィスでも問題の無い[44]Path-traced subsurface scattering (ランダムウォーク方式) が導入された[5]。
- フラットネスパラメータには、LightWave[74]、MODO[75]などが対応している。ランダムウォーク方式の表面下散乱には、Arnold[76]やBlender 2.80以降[77]などが対応している。
- アニソトロピック (異方性)
- アニソトロピックパラメータは正反射の異方性の度合いを指定する[4]。正反射の異方性は繊維や溝などの平行的な構造より生じるため[78]、ブラッシングされた金属、布地、髪などのマテリアルで使用される[78]。
- glTF形式では標準で対応しておらず、KHR_materials_anisotropy拡張への対応が必要となる[79]。
- Sheen (ツヤ)
- シーンパラメータは、誘電体において、ラフネスパラメータで再現しきれない追加のフレネル反射の反射率を指定する[4][80]。このパラメータと下のシーンティントパラメータは透過性繊維が含まれている布地[80]などに必要となる。glTF形式では標準で対応しておらず、KHR_materials_sheen拡張への対応が必要となる[81]。
- SheenTint (ツヤ色味)
- シーンティントパラメータは、誘電体において、追加のフレネル反射をどれだけベースカラーに近づけるかを指定する。
- クリアコート (クリア塗装)
- クリアコートパラメータは、レイヤー合成されるクリア塗装マテリアルの合成強度を、0.25で割って指定する[82]。なお、「Disney 原則BRDF」では屈折率 1.5のポリウレタンによるクリア塗装を前提としている[69]。glTF形式では標準で対応しておらず、KHR_materials_clearcoat拡張への対応が必要となる[83]。また「Disney 原則BRDF」ではクリアコートにGTR分布関数を用いていたものの、2023年現在はクリアコートにGGX分布関数を使うのが一般的となっている[84]。
- クリアコートグロス (クリア塗装の滑らかさ、クリア塗装の光沢度)
- クリアコートグロスパラメータは、クリアコートの滑らかさを指定する。
- glTF形式のKHR_materials_clearcoat拡張など一部のPBS実装ではクリアコートグロスの代わりにクリアコートラフネス (クリア塗装の粗さ) で実装されている[83] (クリアコートラフネス = 1.0 - クリアコートグロス)。
RenderMan拡張のパラメータ
ディズニー子会社のピクサーがRenderManのPxrDisneyシェーダーで実装していた拡張パラメータには以下がある。
- サブサーフィスカラー (表面下の色)
- サブサーフィスカラーパラメータは、誘電体の表面下散乱に用いられる表面下の色を指定する。
- RenderMan[85]、Blender[1]、Houdini[86]、Arnold[76]、LightWave[74]などが対応している。
- エミットカラー (放射色、エミッションカラー、ルミナスカラー、発光色)
- エミットカラーパラメータは、発光における放射色を指定する。
- RenderMan[85]、Arnold[87]、Houdini[86]、LightWave[74]などが対応している。
Disney BSDFの追加パラメータ
Disney BSDFは基本的にDisney BRDFに透過 (拡散透過およびスペキュラ透過) とボリュームを足したものとなっている。Disney BSDFでは屈折率をスペキュラレベルではなくIORで直接指定する[88]。Disney BSDFには中身が詰まったソリッドサーフィスBSDFと薄肉のThinサーフィスBSDFがあり、それぞれパラメータが一部異なっている[73]。
ディズニーのDisney BSDFの資料にある拡張パラメータには以下がある。なお、ThinサーフィスBSDFのフラットネス (平坦さ)については、上記のサブサーフィスの項を参照。
- スキャッターディスタンス (散乱距離、サブサーフィスラジアス、表面下の半径、サブサーフィスディスタンス、表面下の距離)
- ソリッドサーフィスBSDF向け[73]。スキャッターディスタンスパラメータは、誘電体の表面下散乱において、それぞれの色の光線毎の表面下における平均距離を指定する[89]。
- Disney BSDF由来[89]であり、Blender[1]、Houdini[86]、Arnold[76]、LightWave[74]などが対応している。
- トランスミッタンスカラー (トランスミッションカラー、透過色)
- トランスミッタンスカラーは、誘電体の体積吸収 (ボリュームアブソープション) において、吸収された光の色合いを指定する[86]。
- Disney BSDF由来[90]であり、Houdini[86]、Arnold[91]、LightWave[74]などが対応している。
- アットディスタンス (トランスミッタンスディスタンス、トランスミッションデプス、透過距離)
- アットディスタンスパラメータは、誘電体の体積吸収 (ボリュームアブソープション) において、吸収された光が透過色に達するまでの距離を指定する[74]。
- Disney BSDF由来[90]であり、Houdini[86]、Arnold[91]、LightWave[74]などが対応している。
- specTrans (スペキュラ透過、トランスパレンシー[92]、透明度、トランスミッションファクター[93]、透過率)
- specTransパラメータは誘電体においてスペキュラ透過 (屈折) のミックス割合を指定する[94]。glTF形式ではKHR_materials_transmission拡張によって対応している[95] (ベンダー拡張ADOBE_materials_thin_transparency[93]の後継)。
- diffTrans (拡散透過、Translucency[92]、半透明度)
- ThinサーフィスBSDF向け[73]。diffTransパラメータは誘電体の薄いサーフィスにおいて、散乱による拡散反射と拡散透過の割合を0~2で指定する[55]。
- Enterprise PBR拡張 (後述) では値の範囲が0〜1となっている[92]。
- Index of Refraction (ior、屈折率)
- 表面の屈折率を直接指定する[88]。
- Enterprise PBR拡張 (後述) 及びglTF形式のKHR_materials_transmission拡張及びKHR_materials_ior拡張では標準値がポリウレタンの屈折率と同等の1.5となっている[92][95][96]。glTF形式のベンダー拡張ADOBE_materials_thin_transparencyでは標準値が水の屈折率と同等の1.33となっていた[93]。
Pixarパストレース表面下散乱拡張のパラメータ
Disney子会社のPixarはパストレース表面下散乱に以下のパラメータを導入した[44]。
- サブサーフィスアニソトロピー (表面下異方性、ディレクショナリティー[97]、方向性)
- 表面下散乱の異方性を指定する。異方性は特にバックライトのシーンの薄い部位で違いが大きくなる[98]。リアルな肌の表現には約0.8を指定する[98][99]。
- Arnold[76]、RenderMan[97]、Blender 3.0以降のCycles[99]などが対応している。
- ブリード (滲み)
- 非指数関数モデルの表面下散乱における光滲みを指定する。RenderMan[97]などが対応している。
Enterprise PBRの追加パラメータ
Dassault SystèmesのEnterprise PBRは、glTF形式の次世代PBRマテリアルの元になる予定となっている [100]。Enterprise PBRではスペキュラレベルと屈折率 (IOR)の両方のパラメータに対応している[92]。またEnterprise PBRでは表面下散乱と体積吸収をまとめて扱っており、表面下散乱と体積吸収の比率はサブサーフィスカラーにより指定する[92]。
Enterprise PBRで拡張されたパラメータには以下がある[101][92]。
- Sheenカラー (ツヤ色)
- Sheenラフネス (ツヤの粗さ)
- フレークカバレッジ (フレーク範囲)
- フレークがどれだけ覆うのかを指定する[92]。
- フレークカラー (フレーク色)
- フレークの色[92]。
- フレークラフネス (フレークの粗さ)
- フレークの向きの分布の粗さを指定する[92]。
- フレークサイズ (フレークの大きさ)
- フレークの直径をミリメートル (mm)で指定する[92]。
- フリップフロップエフェクト (フリップフロップ効果)
- フレークのフリップフロップ効果を有効にするかどうかを0か1で指定する[92]。
- フリップフロップカラー (フリップフロップ色)
- フレークのフリップフロップ効果が有効な場合の第二フレークカラー[92]。
- クリアコートノーマル(クリアコート法線)
- クリアコートの法線を指定する[92]。
- エミッションバリュー (放射量)
- エミッションバリューパラメータは、発光における放射量をlm/m2 (単位面積当たりの放射量)又はlm (全面積での放射量)で指定する[92]。
- エミッションモード (放射モード)
- 発光における放出量が単位面積当たり(lm/m2)か全面積(lm)かを指定する[92]。
- エネルギーノーマライゼーション (エネルギー正規化)
- エネルギーノーマライゼーションパラメータは、発光における放射色の正規化を行うかを二値で指定する[92]。
- Thin Walled (薄肉)
- Thin Walledパラメータはマテリアルが薄肉かどうかを二値で指定する。マテリアルが薄肉でない場合、表面下散乱が有効となる[92]。glTF形式のKHR_materials_volume拡張ではthicknessFactor (厚み因数) が0の時にThin Walledとなる[102]。
- アテニュエーションカラー (減衰色)
- 誘電体の体積吸収および表面下散乱において吸収・散乱された光の色合いを指定する[92]。glTF形式ではKHR_materials_volumeで対応している[102]。
- アテニュエーションディスタンス (減衰距離)
- 誘電体の体積吸収および表面下散乱における吸収・散乱された光が減衰色に達するまでの距離[92]。glTF形式ではKHR_materials_volumeで対応している[102]。
- ディスプレイスメント (変位)
- ディスパージョン (分散、トランスミッションディスパージョン、透過分散)
- 光の屈折で生じる分散に関するパラメータをアッベ数で指定する[103]。Arnoldが対応している[91]。Houdini[86]やOctaneも分散に対応しているが、これらはアッベ数の代わりに分散係数で指定を行う。
Autodesk Standard Surfaceの追加パラメータ
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Light_dispersion_conceptual_waves.gif/220px-Light_dispersion_conceptual_waves.gif)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Thin_film_interference.svg/220px-Thin_film_interference.svg.png)
Autodesk Standard SurfaceシェーダーのパラメータはFBX形式に新たに導入されている[10]。これらパラメータはArnold 5以降に実装されているStandard Surfaceシェーダー[8]が基となっている[9]。このシェーダーモデルでは単純なクリアコートの代わりに汎用なコートが導入されている。
- コートカラー(コート色)
- コートの色を指定する[92]。
- コートアニソトロピー(コート異方性)
- コートの異方性を指定する[92]。
- コートローテーション(コート回転)
- コートの異方性の回転を指定する[92]。
- コートIOR(コート屈折率)
- コートの屈折率を指定する[92]。
- コートアフェクトカラー(コート影響色)
- コートアフェクトラフネス(コート影響粗さ)
- オパシティ (不透明度、カットアウトオパシティ[92])
- オパシティは表面の不透明度を指定する[103]。細かな穴のある布などを表現する時などに使われる。物理的に正しい不透明度を実装した実装系も存在する[104]。
- Thin Film Thickness (薄膜の厚み)
- 表面上の薄膜の厚みをナノメートルで指定する[103]。薄膜は分散した屈折光の内部反射により玉虫色 (イリデスンス) となる (薄膜干渉/薄膜光学)。薄膜の厚みへと対応するものには、ArnoldやRenderManがある[105][106]。
- glTF形式ではKHR_materials_iridescence拡張のiridescenceThicknessMaximumで対応している(テクスチャを使う場合はiridescenceThicknessMinimumの指定も必要となる)[107]。
Adobe Standard Materialの追加パラメータ
Adobe Standard Material は Substance 3D Stager などで使われている[18]。
- Sheenオパシティ (ツヤ不透明度)
- Sheenの不透明度を指定する[108]。
- スキャッタリングディスタンススケール(散乱距離スケール)
- 表面下散乱の散乱距離の各色のスケーリングを指定する[108][18]。
- レッドシフト(赤方偏移)
- 表面下散乱の赤方偏移の度合いを指定する[18]。肌に向くとされる[18]。
- レイリースキャッタリング(レイリー散乱)
- 表面下散乱のレイリー散乱の度合いを指定する[18]。ミルク、石、空気などに向くとされる[18]。
- コートオパシティ (コート不透明度)
- コートの不透明度を指定する[108]。
- コートスペキュラレベル(コート鏡面反射量)
- コートの鏡面反射量を指定する[108]。
- コートノーマルスケール(コート法線スケール)
- コートの法線の強さを指定する[108]。
OpenPBR拡張のパラメータ
MaterialXのサブプロジェクトであり、Adobe Standard Material と Autodesk Standard Surface を組み合わせたものとなる予定[109][110]。
対応ソフトウェア
オフスクリーンレンダラー
- RenderManのPxrDisneyシェーダー[85] (なお、Uberシェーダーは既にPxrSurfaceシェーダーに移行済み)
- Blender 2.79以降のCyclesのPrincipled Node[1] (透過はDisney BSDFと非互換の形で実装)
- MODO 11.2以降のPrincipledシェーダー[111][75]
- 3ds Max 2018及びMaya 2018以降に搭載のArnold 5以降のStandard Surface[8] (「Disney 原則BRDF」のスーパーセット)
- Houdini 16以降のMantraのPrincipled Shader VOPノード[86]/Principled Shader SHOPノード[112][113] (「Disney 原則BRDF」のスーパーセット)
- LightWave 2018以降のPrincipled BSDF[74]
- appleseedのDisney BRDF[114]
リアルタイムレンダラー
スキン (肌)
スキンシェーダーとは、肌の皮脂膜、表皮 、真皮 、皮下組織の各層の反射・散乱に対応するシェーダーのことである。
表皮は角質層と「生きている表皮」に分けることができる[117]。表皮の光の吸収率はメラノソームによって合成された各種メラニン(ユーメラニン及びフェオメラニン)の濃度によって主に決定される[118][117]。食べて吸収したカロテノイド(β-カロテンなど)も表皮で光で吸収を行うが、外観への影響は少ないとされる[118][117]。
真皮は真皮乳頭層と真皮網状層に分けることができる[117]。真皮の光の吸収率は酸化および脱酸化されたヘモグロビンの濃度によって主に決定される[118][117]。また真皮のエラスチン(弾性線維)と親和性の高いビリルビンも真皮の色に影響を与えうる(黄疸)ほか、カロテノイドや水も少量の影響を与えるとされる。
かつては一部のレンダラーが標準でこれらの層に対応していたものの、その後、汎用の方式に置き換えられていっていった。
スキンシェーダーの実装
- ArnoldのSkinシェーダー - Standard Surfaceに置き換えられて、廃止予定となっている[119]。
- RenderManのPxrSkinシェーダー - レイヤリング表面下散乱マテリアルのPxrLMSubsurfaceに置き換えられ[120]、RenderMan 21でPxrLM系シェーダーがPxrLayerSurfaceシェーダーに置き換えられた。PxrSkin及びPxrLM系シェーダーはRenderMan 22で廃止された[121]。
- V-RayのVRaySkinMtl[122] - V-Ray NextでVRayFastSSS2及びVRayALSurfaceMtlに置き換えられた[123]。
層化 (レイヤー)
層化 (レイヤー) はベースマテリアルに薄膜マテリアルなどを足す時に使われる。層化には、非物理的ではあるものの、層同士の線形合成 (lerp) が用いられてきた。その後、より物理的な層化モデルも登場したが、計算が複雑である[124]ため、あまり用いられていない。
物理的な層化に対応するもの
- RenderMan 24以降のMaterialX LamaのLamaLayerのRough Coatingモード[125]
ヘア・ファー (髪・毛)
ヘアシェーダーの鏡面反射では、1989年に登場したKajiya-Kayモデルで異方性反射が導入され、2003年に登場したMarschner反射モデルで縦方向と方位角の反射が分離され[126]、その後、2011年のd'Eon et al.の論文でMarschner反射モデルが改良されて「エネルギー保存の法則」を満たすようになった[126]。
ヘアシェーダーの拡散反射では、Marschnerベースの反射モデルに近接場の問題があり[127]、1989年に登場したKajiya-Kayモデルの拡散反射が長らく使われていた。2007年に近接場散乱モデルのZinkeモデルが登場した[127]。
2016年、Walt Disney Animation Studiosは、鏡面反射のd'Eonモデルと拡散反射のZinkeモデルをベースに改良したChiangモデルが登場した[127]。
また、ファー向けのシェーダーモデルも開発された。動物の毛は人毛と異なりメデュラ(毛髄質)が目立つ[128]ため、それを考慮したYan et al.の論文が2015年に登場し[128]、2017年にはそれを高速化するためのファーモデルが登場した[129]。
しかしながらMarschner反射モデル以降に存在する縦方向と方位角の反射の分離は物理的ではなく、2022年にはそれらを統合して扱うMicrofacet Hairモデル(Huangモデル)が登場した[130]。
パラメータ
物理ベースより前のMarschner鏡面反射モデルでは、一次鏡面反射 (Primary Specular; R (反射))、二次鏡面反射 (Secondary Specular; TRT (透過-反射-透過))、透過鏡面反射 (Transmit Specular; TT (透過-透過))のそれぞれに反射色や鏡面反射の角度シフトを指定していた。また、これらとは別に拡散反射色を指定することもあった。
物理ベースの後は反射パスを分けずに、髪色および角度シフトの指定を単一で行うようになった。また、髪色は基本色だけでなくメラニン色素ベースの指定も可能となった。d’Eon et al. (2014)の論文では、メラニン色素とRGB吸収係数との関係に以下を提示している (定数はそれぞれの吸収断面積を表す)[131]:
RGB吸収係数 = ユーメラニン濃度 * [0.419, 0.697, 1.37] + フェオメラニン濃度 * [0.187, 0.4, 1.05]
各ソフトウェアの実装
Microfacet Hairモデル対応のもの
Microfacet Hairモデル未対応のもの
- RenderManのPxrMarschnerHair - 拡散反射にZinkeモデルを採用している (古いKajiya-Kay拡散モデルへの切り替えも可能)[134]。物理ベースの髪色指定にはPxrHairColorノードが必要[135]。
- Arnold 5以降のStandard Hairシェーダー - 鏡面反射にd'Eonモデル、拡散反射にZinkeモデルを採用している[136]。
- V-Ray NextのVRayHairNextMtl - Chiang et al.及びYan et al.の論文を参照して実装された[137]。
ボリューム (体積)
歴史
ボリュームシェーダーでは簡易的なHenyey-Greenstein位相関数が長らく用いられてきた。1993年、Henyey-Greenstein位相関数を単純化したSchlick位相関数が登場した[138]。Henyey-Greenstein位相関数とSchlick位相関数ではパラメータが異なるため、パラメータの変換が必要となる[139]。
また、1987年のNishita, et al.の論文において、極小粒子向けのレイリー散乱理論に基づくRayleigh位相関数、小さな粒子向けのミー・ローレンツ理論 (ミー散乱) の近似であるMie-Hazy位相関数及びMie-Murky位相関数が示された[140][141]。これら位相関数は計算の容易な位相関数のフィッティング先に使われており、例えばmental rayではこれらの位相関数に相当するパラメータ値を提示していた[142]。
その後、雲の散乱において雨滴粒径分布 (DSD) 毎のミー・ローレンツ位相関数の事前計算が行われるようになった[143]ものの、ミー・ローレンツ位相関数にはサンプリングが難しいという問題があり、2017年にはミー・ローレンツ位相関数の回折ピークを切り落とすという手法が登場した[144]。
2023年にはミー散乱の近似をより正しくしたHG-Draine blend位相関数(Jendersie-d'Eon位相関数)が登場した[145]。
一方、リアルタイムの霧(フォグ)では経験則に基づく深度の線形距離を使ったフォグが使われていた[146]が、その後、より正確な深度の指数関数距離を使ったフォグが使われるようになった[146][147][148]。またビルボードやパーティクルによるフォグ、画面空間での放射状ブラーのポストエフェクトによるフォグ、レイマーチによるフォグも登場したがどれも限界のあるものとなっていた[146]。そのため、2014年にはLight Propagation Volumesを基にしたVolumetric Fogが登場した[146]。
ボリュームの実装
ミー・ローレンツ位相関数対応
- Ocean[149]
HG-Draine blend位相関数対応
- Redshift 3.6以降[150]
Volumetric Fog対応のリアルタイムレンダラー
スカイ (空)
当初、輝度のみの解析的なスカイモデルとして、1993年にPerezスカイモデルが登場し、1994年にそれを少し変更したCIEスカイモデルが登場した[153]。しかし、これらのモデルはパラメータが多く使い難い上、輝度のみにしか対応していないため色が無く、レンダリングには適さないものであった[153]。
一方、色のあるものとしてはシミュレーションベースのスカイモデルが登場した。1993年には大気の散乱をベースとするNishitaスカイモデル (1993年版) が登場したものの単一散乱のみの考慮となっており[153]、1996年には大気の多重散乱を考慮するNishitaスカイモデル (1996年版) が登場した[153]。2005年にはHaberらによって大気の異方性散乱、湿度や温度による大気の屈折率、オゾン層の吸収が導入され[154][155]、その後も関与粒子の分布を考慮した晴天モデルのKutz (2012)[155]や、季節や地理を考慮したモデルのGuimera, Gutierrez and Jarabo (2018)[155]などが登場したものの高度なスカイモデルは速度が遅く[155]、シミュレーションベースのスカイモデルでは高速なNishitaスカイモデルが多くのソフトウェアで採用されていった。
また解析的なスカイモデルでも、1999年に色へと対応するPreethamスカイモデルが登場し[153]、レンダリングに広く使われるようになった。このPreethamスカイモデルは、Perezの解析的なスカイモデルをベースに、Nishitaのシミュレーション的なスカイモデルの生成結果を当て嵌めた上でパラメータを単純化したものであり[153]、色に対応しながらもシンプルであるため広く使われたものの、夕焼けや濃い濁度に弱く[153]、2012年にはそれらを改善して地表面アルベドにも対応させたHosek-Wilkieスカイモデルが登場した[153]。しかしながら既存の解析的なスカイモデルは水平線より上の太陽しか考慮されていないものとなっており[156]、2021年には水平線より下の太陽などにも対応したPRG Clearスカイモデルが登場した[157][158]。
ゲーム向けでは事前計算によって正確性と速度を向上させたルックアップテーブル (LUT) ベースのスカイモデルも登場した[155][159]。2005年にはGPU Gems 2においてNishitaスカイモデル (1993年版)をベースとしたGPUによるリアルタイム大気散乱が登場したものの単一散乱のみとなっており[155][160]、2008年にはBrunetonとNeyretによって多重散乱や地表面アルベドに対応する4次元LUTベースのPrecomputed Atmospheric Scatteringが登場した[155][154][161]ものの高い計算量となっていた。2009年、惑星の影を無視することによって3次元LUTに収めたElekモデルが登場したものの水平線でのアーティファクトの問題があり[161]、2013年にはその問題を軽減したYusovモデルが登場した[161]ものの大気の濃い場合にはまだ問題が残っていた[161]。またこれらは他の既存技術と組み合わせてもソフトなボリュームシャドウに未対応という問題も抱えていた[159][161]。2020年、Epic Gamesに所属するSébastien Hillaireはこれの問題を解決して動的に変化しやすくした「A Scalable and Production Ready Sky and Atmosphere Rendering Technique」を公開した[161]。
スカイモデルにおけるパラメータ
実装によりスカイモデルの正確さやパラメータが異なる。
- 太陽の方向
- 太陽の方向をベクトルで指定するもの (Blender[162]など) や、地平座標 (方位角/仰角) で指定するもの (Arnold[163]など) がある。シーンの地理座標 (緯度/経度) と日時と北方向補正で指定できるレンダラーもある (Octane[164]やMODO[165]など)。
- 太陽の大きさ
- 太陽の大きさを指定する。角直径で指定するもの (Blender[162]など) や半径で指定するもの (Octane[164]など) がある。
- 高度 (Altitude)
- 標高 (平均海面からの高度) を指定する[162]。
- 空気 (Air)
- レイリー散乱を引き起こす空気分子の密度を指定する[162]。
- ダスト[162] (ちり、濁度[164][163]、Haze[165])
- ミー散乱を引き起こす空気中の粉塵や霧などの大気エアロゾル粒子の密度を指定する[162][164]。
- 解析的モデルでは濁度 (Turbidity)を指定していたが、物理的モデルではダスト密度又はHaze係数を指定する[166]。
- オゾン
- 減衰を引き起こすオゾン層のオゾン分子の密度を指定する[162]。
- 地表面アルベド
- 地表面反射により大気へと影響を与える地表面の色を指定する[163]。
スカイモデルの実装
- シミュレーションベースのスカイモデルに対応するもの
- Octane Render 4以降のPlanetary Environment及びOctane Daylight - Nishitaスカイモデルに対応している[167][note 3][168]。
- Blender 2.9以降のSky Textureノード - Nishitaスカイモデル (1993年版)を単純化したスカイモデルに対応している[162][169]。なお旧来のHosek-Wilkieスカイモデル及びPreethamスカイモデルにも引き続き対応している[162]。
- NishitaAtmos.osl - 無料のNishitaスカイモデル実装。OSLシェーダー対応のレンダラーで使用可能。
- 解析的スカイモデルにのみ対応するもの
- Corona Renderer 6以降 - PRG Clearスカイモデル(旧Improvedスカイモデル)が搭載されている[170]。
- V-Ray 5以降のVRaySky - Corona Rendererと同じPRG Clearスカイモデルが搭載されている[171]。なお旧来のHosek-Wilkieスカイモデル、Preethamスカイモデル及びCIEスカイモデルにも引き続き対応している[172]。
- Redshift 3.5.14以降 - PRG Clearスカイモデルが搭載されている[173]。
- ArnoldのPhysical Sky - Hosek-Wilkieスカイモデルをベースとしている[163]。
- RenderManのPxrEnvDayLight - Preethamスカイモデルをベースとしている[174]。
- リアルタイムレンダラー
- UnityのHDRPのPhysically Based Sky - Precomputed Atmospheric Scatteringを採用している[175]。
- Unreal Engine - 「A Scalable and Production Ready Sky and Atmosphere Rendering Technique」が基となっている。
- Precomputed Atmospheric Scattering - 同名の論文の新実装。BSDライセンス。
- Unreal Engine Sky Atmosphere Rendering Technique - 「A Scalable and Production Ready Sky and Atmosphere Rendering Technique」の実装。MITライセンス。
色空間およびトーンマッピング
歴史
黎明期
1980年代より現実の光を模倣するグローバル・イルミネーション系の3DCGレンダラーでは、実写で使われていたダイナミックレンジの高い光量をディスプレイの表示可能な範囲へと圧縮するトーンマッピング技術を取り入れており(Radiance(英語版)など)、1990年代にはトーンマッピングでTumblin–Rushmeier法やWard法など様々な手法が考案されてきた[176]。
しかしながら映画CGでは速度の関係からRenderMan系のレンダラーによる非物理ベースのREYESレンダリング(英語版)(マイクロポリゴンへの分割)が主流であり、sRGBでレンダリングしてTruevision(英語版)製ビデオカードの標準画像形式 TGA などで連番保存するのが一般的となっていた。一応、映画の実写部分では映像フィルムで撮影したものを映像フィルムスキャナー(英語版)でデジタル化することが行われており、このプロセスではCineon形式やDPX形式などの広いダイナミックレンジのLogガンマ(対数スケール)でデジタル化するのが一般的となっていた[177]ものの、CGとのデジタル合成を含む動画編集ではビデオ向け色空間(Rec. 709など)へと変換してから映像処理を行い[177]、それを映画フィルムへと焼くのが一般的となっていた。
広い色空間の普及
1999年、ILMが広いダイナミックながらも半精度(half)浮動小数点数で容量を抑えた画像形式OpenEXRを開発し[177][178]、そのOpenEXRを内製デジタル合成ソフトウェアやRenderManの自社ビルドへと実装して2001年の『ハリー・ポッターと賢者の石』より自社の制作で使い始めた。2003年にはOpenEXRがオープンソースとして一般公開され[178]、その後、本家のRenderManでも12でOpenEXRが実装された[179]。
また2002年には複数の映画スタジオによって映像フィルム不要のデジタルシネマを確立するためのDigital Cinema Initiatives(英語版) (DCI) が設立され、2005年にはデジタルシネマ規格 DCI と共にデジタルシネマの映写向け色空間として広い DCI-P3 が登場した。DCIは同時にデジタルシネマの保存向け形式 DCDM も策定し、DCDM は色空間として更に広い X'Y'Z' 色空間を採用した。
またデジタルシネマ向けでは映画芸術科学アカデミー (AMPAS) によりシーンリニア前提の色管理規格 Academy Color Encoding System(英語版) (ACES) の策定が開始された。ACESにはアナログフィルムのエミュレーションプロセスも含まれた[180]。2010年にはソニーが色管理ライブラリ OpenColorIO のオープンソース化を行い[181]、このACESを標準化に先駆けていち早く採用した[177]。2012年には映画テレビ技術者協会 (SMPTE) において ACES の色空間 (ACES2065-1) が標準化された (SMPTE ST 2065-1:2012) ものの、ACES2065-1 は CG との相性の悪さが問題となり[182]、2014年には CG 向けの色空間として新たに ACEScg (S-2014-004) が登場した[183]。
ポストACES
ACESは色相シフトの問題を抱えており[184]、ACESの後継が模索された。2017年には統合型3DCGソフトウェアの一つBlenderが2.79に独自のトーンマッピングシステムのFilmicを搭載した[185]が、このFilmicにも「Notorious 6」の問題が発見され[184][186]、2023年のBlender 4.0にはその問題を解決した新たなトーンマッピングシステムのAgXが搭載された[186]。
一方、Khronos 3D Commerceワーキンググループはeコマースにとって映画向けのACES及びAgXは彩度の問題があるとして新たなトーンマッピングの Khronos PBR Natural Tone Mapping (Commerce Tone Mapping) を開発し[187]、そのKhronos PBR Naturalが2024年より各種ソフトウェアに搭載されるようになっていった[187]。
Khronos PBR Natural の実装
関連項目
- 屈折率の一覧(英語版) - 各マテリアルの屈折率 (IOR) の一覧。
注釈
- ^ 薄い金属フィルムでは光の吸収が起きる前に透過してしまう (浸透深さ(英語版)/表皮深さ)
- ^ 実際はその前からAsymptotic Guidingとして提案されていた。
- ^ なお、Octane Renderは2020.1以降、解析的モデルのHosek-Wilkieスカイモデルにも対応している。
出典
- ^ a b c d e f Principled BSDF - Blender Manual Blender Foundation
- ^ 物理ベースのマテリアル Epic Games
- ^ a b Physically-Based Shading at Disney P.3-4 Walt Disney Animation Studios 2012年8月31日
- ^ a b c d e f g Physically-Based Shading at Disney P.12-13 Walt Disney Animation Studios 2012年8月31日
- ^ a b Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering Walt Disney Animation Studios 2015年
- ^ The Comprehensive PBR Guide by Allegorithmic - vol. 1 P.7 Allegorithmic
- ^ Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.5 Walt Disney Animation Studios 2015年
- ^ a b c Arnold 5 - Rendering Evolved Solid Angle 2017年4月12日
- ^ a b Autodesk Standard Surface Autodesk
- ^ a b Autodesk ships Maya 2020.3 and Maya LT 2020.3 CG Channel 2020年10月8日
- ^ 『Game Graphic Programming』 P.348 Allen Sherrod 2008年6月10日 ISBN 978-1584505167
- ^ 『Real-Time Shader Programming』 P.162 Ron Fosner 2002年12月31日 ISBN 978-1558608535
- ^ Designing Reflectance Models for New Consoles P.21 トライエース 2014年
- ^ PBR Diffuse Lighting for GGX+Smith Microsurfaces P.6-8 UBM Tech 2017年3月
- ^ a b c glTF 2.0 Specification Khronos Group
- ^ a b Fresnel Equations Considered Harmful Naty Hoffman 2019年
- ^ Fresnel Equations Considered Harmful (Slides) Naty Hoffman 2019年
- ^ a b c d e f g h Novel aspects of the Adobe Standard Material Adobe 2021年10月
- ^ a b c d Practical multiple scattering compensation for microfacet models Emmanuel Turquin 2019年
- ^ Multiple-scattering microfacet BSDFs with the Smith model Eric Heitz, et al. 2016年
- ^ a b Revisiting Physically Based Shading at Imageworks ソニー・ピクチャーズ・イメージワークス 2017年
- ^ The Road Toward Unified Rendering with Unity's High Definition Render Pipeline P.91- Unity Technologies 2018年
- ^ Filament - 4.7.2 Energy loss in specular reflectance Google
- ^ Stephen McAuley, A Journey Through Implementing Multiscattering BRDFs & Area Lights SIGGRAPH 2019年
- ^ 『Real-Time Rendering, Fourth Edition』 P.352-353 Tomas Akenine-Moeller、Eric Haines、Naty Hoffman 2018年9月10日 ISBN 978-1138627000
- ^ Measuring and Modeling Anisotropic Reflection Lawrence Berkeley National Laboratory
- ^ Notes on the Ward BRDF Bruce Walter 2005年4月29日
- ^ a b c An Anisotropic Phong Light Reflection Model Michael Ashikhmin, Peter Shirley 2001年
- ^ Non-Linear Approximation of Reflectance Functions Eric P. F. Lafortune, et al. 1997年
- ^ a b Isotropic and Anisotropic Interfaced Lambertian Microfacets p.1, p.16 Daniel Meneveaux, et al. 2015年12月21日
- ^ An Anisotropic Phong BRDF Model Michael Ashikhmin, Peter Shirley 2000年8月13日
- ^ a b c Physically Based Shading at Disney p.23 Brent Burley 2012年
- ^ BRDF Representation and Acquisition p.8 D. Guarnera, et al. 2016年
- ^ a b Predicting reflectance functions from complex surfaces Stephen H. Westin 1992年
- ^ A Microfacet-based BRDF Generator pp.8-9 Michael Ashikhmin, et al. 2000年
- ^ Physically Based Shading at Disney pp.10-11, p.26 Brent Burley 2012年
- ^ a b c d Practical Multiple-Scattering Sheen Using Linearly Transformed Cosines Tizian Zeltner, et al. 2022年
- ^ Production Friendly Microfacet Sheen BRDF Alejandro Conty Estevez, et al. 2017年
- ^ Physically Based Rendering in Filament Google
- ^ a b c Physically Based Rendering: From Theory To Implementation - Light Transport II: Volume Rendering - Further Reading Matt Pharr、Wenzel Jakob、Greg Humphreys 2018年
- ^ "毛"の表現の新境地をもとめて ~前編~ CG-ARTS 2011年6月15日
- ^ a b c d Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.7-10 Walt Disney Animation Studios 2015年
- ^ Approximate Reflectance Profiles for Efficient Subsurface Scattering Pixar 2015年
- ^ a b c d Path Traced Subsurface Scattering using Anisotropic Phase Functions and Non-Exponential Free Flights P.2 PIXAR 2017年7月
- ^ A Zero-Variance-Based Sampling Scheme for Monte Carlo Subsurface Scattering Jaroslav Křivánek、Eugene d'Eon 2014年
- ^ Advances in Monte Carlo Rendering: The Legacy of Jaroslav Křivánek p.130 Alexander Keller, et al. 2020年
- ^ Improving the Dwivedi Sampling Scheme Johannes Meng、Johannes Hanika、Carsten Dachsbacher 2016年
- ^ Path Traced Subsurface Scattering using Anisotropic Phase Functions and Non-Exponential Free Flights P.8-9 PIXAR 2017年7月
- ^ a b PIXAR Deep Dive on SSS : SIGGRAPH Preview fxguide 2017年7月28日
- ^ GPU Gems - Chapter 16. Real-Time Approximations to Subsurface Scattering NVIDIA 2004年
- ^ Real-time rendering of subsurface scattering according to translucency magnitude Hiroyuki Kubo, et al. 2015年
- ^ Separable Subsurface Scattering Jorge Jimenez, et al. 2012年
- ^ Efficient Screen-Space Subsurface Scattering Using Burley's Normalized Diffusion in Real-Time Unity Technologies 2018年
- ^ Efficient Screen-Space Subsurface Scattering Using Burley's Normalized Diffusion in Real-Time P.39-40 Unity Technologies 2018年
- ^ a b Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.12 Walt Disney Animation Studios 2015年
- ^ a b A Practical Extension to Microfacet Theory for the Modeling of Varying Iridescence p.65:2 Laurent Belcour、Pascal Barla 2017年
- ^ a b c Hero Wavelength Spectral Sampling A. Wilkieら 2014年
- ^ a b c d Manuka: Weta Digital's Spectral Renderer Johannes Hanika 2017年
- ^ a b c d Spectral Imaging in Production p.1-2 Andrea Weidlich, et al. 2021年
- ^ a b A Low-Dimensional Function Space for Efficient Spectral Upsampling Wenzel Jakob、Johannes Hanika 2019年
- ^ a b An RGB to Spectrum Conversion for Reflectances Brian Smits 2000年1月21日
- ^ Generating Reflectance Curves from sRGB Triplets (Page 4) Scott A. Burns
- ^ a b Chromatic Adaptation Transform by Spectral Reconstruction pp.21-22 Scott A. Burns 2019年
- ^ a b Spectral Imaging in Production pp.47-48 Andrea Weidlich, et al. 2021年
- ^ A Low-Dimensional Function Space for Efficient Spectral Upsampling
- ^ Spectral Imaging in Production p.75 Andrea Weidlich, et al. 2021年
- ^ Practical Aspects of Spectral Data in Digital Content Production p.5 Andrea Weidlichら 2022年6月6日
- ^ a b SIGGRAPH 2010 Course Notes: Physically-Based Shading Models in Film and Game Production P.8
- ^ a b Physically-Based Shading at Disney P.15-16 Walt Disney Animation Studios 2012年8月31日
- ^ a b KHR_materials_specular Khronos Group
- ^ a b Physically-Based Shading at Disney P.14 Walt Disney Animation Studios 2012年8月31日
- ^ Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.12 Walt Disney Animation Studios 2015年
- ^ a b c d Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering p.45, p.52 Brent Burley 2015年
- ^ a b c d e f g h Principled BSDF LightWave 3D Group 2018年1月7日
- ^ a b Principled Shader Foundry
- ^ a b c d Subsurface Solid Angle
- ^ Bf-blender-cvs - a6968e87f13 - master: Cycles: add random walk subsurface scattering to Principled BSDF. Blender Foundation 2018年2月9日
- ^ a b Anisotropic Materials Appearance Analysis using Ellipsoidal Mirror P.1 Jiri Filip、Radomir Vavra 2015年
- ^ KHR_materials_anisotropy Khronos Group
- ^ a b Physically-Based Shading at Disney P.10 Walt Disney Animation Studios 2012年8月31日
- ^ KHR_materials_sheen Khronos Group
- ^ Physically-Based Shading at Disney P.16 Walt Disney Animation Studios 2012年8月31日
- ^ a b KHR_materials_clearcoat Khronos Group
- ^ Cycles: Rework Principled BSDF Clearcoat Blender Foundation 2023年9月13日
- ^ a b c PxrDisney Pixar
- ^ a b c d e f g h Principled Shader VOP node Side Effects Software
- ^ Emission Solid Angle
- ^ a b Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.13-14 Walt Disney Animation Studios 2015年
- ^ a b Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.7,P.15 Walt Disney Animation Studios 2015年
- ^ a b Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.6 Walt Disney Animation Studios 2015年
- ^ a b c Transmission Solid Angle
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y Enterprise PBR Shading Model Version 2022x Dassault Systèmes
- ^ a b c ADOBE_materials_thin_transparency Khronos Group
- ^ Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.3 Walt Disney Animation Studios 2015年
- ^ a b KHR_materials_transmission Khronos Group
- ^ KHR_materials_ior Khronos Group
- ^ a b c Subsurface Scattering Parameters Pixar
- ^ a b Louise Pixar 2018年11月2日
- ^ a b 3.0 Blender Foundation 2021年12月3日
- ^ glTF Update March 2019 P.5 Khronos Group
- ^ A new PBR Material serving Mobile, Web, Real-time Engines and Raytracing Dassault Systèmes 2019年
- ^ a b c KHR_materials_volume Khronos Group
- ^ a b c Autodesk Standard Surface version 1.0.1 Autodesk
- ^ Practical Multilayered Materials in Call of Duty: Infinite Warfare Activision 2017年
- ^ Thin Film Solid Angle
- ^ PxrSurface Pixar
- ^ KHR_materials_iridescence Khronos Group
- ^ a b c d e Materials - Substance 3D Stager Adobe
- ^ Academy Software Foundation Announces OpenPBR, a New Subproject of MaterialX Academy Software Foundation 2023年8月2日
- ^ OpenPBR strengthens interoperability, enabling enhanced creativity Adobe 2023年8月8日
- ^ Foundry ships Modo 11.2 CG Channel 2017年11月8日
- ^ Principled Shader shader node Side Effects Software
- ^ What was new in Shading, and rendering Side Effects Software
- ^ appleseed - Documentation The appleseedhq Organization
- ^ Nodes Support - Shaders Nodes
- ^ Godot team ships Godot 3.0 CG Channel 2018年1月31日
- ^ a b c d e Practical Aspects of Spectral Data in Digital Content Production - Course Notes Siggraph 2022 p.41 Andrea Weidlichら 2022年6月6日
- ^ a b c A Spectral BSSRDF for Shading Human Skin P.3 Craig Donner, Henrik Wann Jensen 2006年
- ^ Skin - Arnold for Maya User Guide 5 Solid Angle
- ^ PxrSkin Pixar
- ^ RenderMan 22.0 Pixar
- ^ Skin Material - VRaySkinMtl Chaos Group
- ^ Migrating from V-Ray 3.x to V-Ray Next Chaos Group
- ^ Autodesk Standard Surface - 4.3 Layering model Autodesk
- ^ LamaLayer Pixar
- ^ a b 01 THE IMPLEMENTATION OF A HAIR SCATTERING MODEL P.37-38 Matt Pharr 2016年10月16日
- ^ a b c A Practical and Controllable Hair and Fur Model for Production Path Tracing Walt Disney Animation Studios 2015年
- ^ a b Physically-Accurate Fur Reflectance: Modeling, Measurement and Rendering Yan et al. 2015年
- ^ An Efficient and Practical Near and Far Field Fur Reflectance Model Yan et al. 2017年
- ^ A Microfacet-based Hair Scattering Model Weizhen Huang, et al. 2022年7月30日
- ^ An Energy-Conserving Hair Reflectance Model P.2, 5-6 Eugene d’Eon et al. 2014年
- ^ Cycles: new Principled Hair BSDF variant with elliptical cross-section support Blender Foundation 2023年8月18日
- ^ Bf-blender-cvs - 5078b9d2d08 - master: Cycles: add Principled Hair BSDF. Blender Foundation 2018年7月18日
- ^ PxrMarschnerHair Pixar
- ^ PxrHairColor Pixar
- ^ Arnold 5 - Rendering Evolved Solid Angle 2017年4月12日
- ^ VRayHairNextMtl Chaos Group
- ^ A Rendering Algorithm for Discrete Volume Density Objects, Philippe Blasi, et al. 1993年
- ^ Efficient Many-Light Rendering of Scenes with Participating Media P.20 Carsten Dachsbacher, et al. 2014年
- ^ A shading model for atmospheric scattering considering luminous intensity distribution of light sources P.304 Tomoyuki Nishita, et al. 1987年
- ^ Efficient Many-Light Rendering of Scenes with Participating Media P.21-22 Carsten Dachsbacher, et al. 2014年
- ^ Participating Media Autodesk
- ^ Interactive multiple anisotropic scattering in clouds P.2-3 Antoine Bouthors, et al. 2008年
- ^ Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks P.4 Disney Research 2017年
- ^ An Approximate Mie Scattering Function for Fog and Cloud Rendering NVIDIA 2023年
- ^ a b c d Volumetric Fog: Unified compute shader based solution to atmospheric scattering p.14-17 Ubisoft Montreal 2014年8月
- ^ glFog Khronos Group
- ^ Real-time Atmospheric Effects in Games p.15 CryTek 2006年
- ^ Mie medium Eclat Digital Recherche
- ^ Maxon releases Redshift 3.6 CG Channel 2024年4月10日
- ^ Volumetric Fog - Unreal Engine ドキュメント Epic Games
- ^ Fog - High Definition RP - 14.0.10 Unity Technologies
- ^ a b c d e f g h An Analytic Model for Full Spectral Sky-Dome Radiance Lukas Hosek, Alexander Wilkie 2012年
- ^ a b Spectral sky models for advanced daylight simulations p.23 IEA Solar Heating and Cooling Programme(英語版)
- ^ a b c d e f g Physical Sun and Sky Models in appleseed p.12-13 チューリッヒ大学 2020年11月18日
- ^ Eric Bruneton. A Qualitative and Quantitative Evaluation of 8 Clear Sky Models. IEEE Transactions on Visualization and Computer Graphics. 2017.
- ^ Redshift for Maya - Physical Sky MAXON
- ^ A Fitted Radiance and Attenuation Model for Realistic Atmospheres Alexander Wilkieら 2021年8月
- ^ a b Physically Based and Scalable Atmospheres in Unreal Engine p.8 Epic Games 2020年
- ^ Sean O'Neil, GPU Gems 2 - Chapter 16. Accurate Atmospheric Scattering NVIDIA 2005年
- ^ a b c d e f A Scalable and Production Ready Sky and Atmosphere Rendering Technique p.14 Sébastien Hillaire 2020年
- ^ a b c d e f g h i Sky Texture Node Blender Foundation
- ^ a b c d Physical Sky Autodesk
- ^ a b c d Octane Daylight Aoktar
- ^ a b Directional Light Foundry
- ^ Physical Sun and Sky Models in appleseed p.39 チューリッヒ大学 2020年11月18日
- ^ OctaneRender 4 is out today! OTOY 2018年11月21日
- ^ Otoy ships OctaneRender 2020.1 CG Channel 2020年4月28日
- ^ Physical Sun and Sky Models in appleseed p.30 チューリッヒ大学 2020年11月18日
- ^ Chaos Czech releases Corona Renderer 7 CG Channel 2021年8月4日
- ^ Chaos Group ships V-Ray 5 CG Channel 2020年6月16日
- ^ VRaySky Chaos Group
- ^ Maxon ships Redshift 3.5.14 CG Channel 2023年4月4日
- ^ PxrEnvDayLight Pixar
- ^ Physically Based Sky Unity Technologies
- ^ A Visibility Matching Tone Reproduction Operator for High Dynamic Range Scenes p.2-3 Gregory Ward Larson, et al. 1997年
- ^ a b c d The art of digital color fxguide 2011年8月23日
- ^ a b ASWF Deep Dive: OpenEXR Origin Story: Part 1 Academy Software Foundation 2021年4月15日
- ^ RenderMan 12 Release Notes Pixar
- ^ 第4回:富士フイルムとRRT - フィルムルックの継承と展開 Autodesk 2014年6月27日
- ^ OpenColorIO Receives SMPTE Workflow Systems Medal Academy Software Foundation 2023年10月24日
- ^ ACEScg – A Working Space for CGI Render and Compositing Academy of Motion Picture Arts and Sciences
- ^ 『Specification S-2014-004 ACEScg – A Working Space for CGI Render and Compositing』 p.3, 5 The Academy of Motion Picture Arts and Sciences 2016年3月29日
- ^ a b Filmic's Successor: New AGX View Transform in Blender 4.0 BlenderNation 2023年9月5日
- ^ Blender 2.79 filmic: Should you replace it? Blender3DArtitect 2017年9月14日
- ^ a b Blender 4.0 Released: Check Out The New Features Of Blender's New Era Blender Nation 2023年11月14日
- ^ a b Tone Mapping Considerations for Physically-Based Rendering Google
- ^ Blender 4.2 LTS Released With GPU Accelerated Compositing, Intel OIDN On AMD GPUs Phoronix 2024年7月16日
外部リンク
- The Comprehensive PBR Guide by Allegorithmic - vol. 1 Allegorithmic
- 『THE COMPREHENSIVE PBR GUIDE Volume 1: The Theory of PBR by Allegorithmic』私家訳版 小林信行訳
- The Comprehensive PBR Guide by Allegorithmic - vol. 2 Allegorithmic
- 『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR textures 』私家訳版 小林信行訳
- Physically-Based Material, where are we? Unity Technologies
- Pixar’s Foundation for Materials Pixar
- Revisiting Physically Based Shading at Imageworks Imageworks
3Dレンダリング | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
レンダリング手法 |
| ||||||||
ライティング/ シャドウイング |
| ||||||||
シェーディング | |||||||||
サンプリング及び アンチエイリアス |
| ||||||||
レンダリングAPI |
| ||||||||
レンダリング ソフトウェア |
|
- 表示
- 編集