物理ベースシェーディング (Physically-based shading、PBS) とは、物理法則をベースとしたシェーディングのことであり、物理ベースレンダリング (PBR) において使われている。PBSシェーディングモデルとしては、メタルネス (金属さ) ワークフローで有名な「Disney 原則BRDF」が代表的だが、それを拡張した「Disney BSDF」もある。これらをベースとしたシェーダーは、PBRシェーダーとも呼ばれている。
物理ベースシェーディングは、写実的レンダリングだけでなく、非写実的レンダリング (NPR) にも使われている物理ベースのマテリアル Epic Games。
歴史 2003年、三菱電機の研究拠点の一つ Mitsubishi Electric Research Laboratories (MERL) は、幅広いマテリアルの測定を行ってデータベース化したMERL BRDF Databaseを発表したPhysically-Based Shading at Disney P.3-4 Walt Disney Animation Studios 2012年8月31日。
その後、ウォルト・ディズニー・アニメーション・スタジオは、BRDF Explorerを開発し、そのツールとMERL BRDF Databaseのデータを用いて新たなシェーディングモデルの開発を行い、2012年、SIGGRAPH 2012 Courseの「Physically-Based Shading at Disney」の中で、「Disney “principled” BRDF」(Disney 原則BRDF) を発表したPhysically-Based Shading at Disney P.12-13 Walt Disney Animation Studios 2012年8月31日。
2015年、DisneyはDisney BRDFに鏡面反射BSDF (反射+透過)とより正確な表面下散乱を統合したDisney BSDFを発表したExtending the Disney BRDF to a BSDF with Integrated Subsurface Scattering Walt Disney Animation Studios 2015年。
概要 物理ベースレンダリングにおいては、基本的にエネルギー保存の法則を守る必要がある。PBSのシェーダーモデルは、パラメータを変更してもエネルギーが保存されるようになっているThe Comprehensive PBR Guide by Allegorithmic - vol. 1 P.7 Allegorithmic。なお、光の相反性については、透過を実装するために使われるBTDFに相反性が無いとされるExtending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.5 Walt Disney Animation Studios 2015年。
PBS対応の3Dファイル形式
物理ベースシェーディングのパラメーターに対応する3Dファイル形式が増えている: glTF 2.0形式 FBX形式 Stingray PBSシェーダー方式 - Stingrayゲームエンジンで使われていたシェーダーのパラメータ Autodesk Standard Surfaceシェーダー方式 - Arnold 5以降で使われているStandard SurfaceシェーダーのパラメータAutodesk Standard Surface Autodesk。Maya 2020.3以降対応Autodesk ships Maya 2020.3 and Maya LT 2020.3 CG Channel 2020年10月8日。 OpenPBRシェーダー方式 - 3ds Max 2025.3以降で使われているOpenPBRシェーダー3ds Max 2025.3 Update released introducing the OpenPBR shading model CGPress 2024年10月17日のパラメータ。 Wavefront OBJ+MTL形式のPBR拡張 MaterialX形式 (*.mtlx) - Disney 原則BSDF、glTF PBR、Autodesk Standard Surface、OpenPBR SurfaceなどのBxDFが定義されている。
旧来のシェーディングモデルとの違い
拡散反射および鏡面反射 マイクロファセット (微細表面) 理論導入前のシェーディングモデルは、経験則に頼っていた。特にGPUによる固定パイプラインにおいて、拡散反射は完全拡散反射を前提とするランバート反射モデルのみであり『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。
マイクロファセット理論導入後、シェーディングモデルは「表面の粗さに対応する拡散反射モデル」 (オーレン・ネイヤー反射モデル等) と「表面の粗さに対応する鏡面反射モデル」 (Cook-Torranceモデル (Beckmann分布関数ベース)、Walterモデル (GGX分布関数ベース)等) の合成となった。しかし、拡散反射のオーレン・ネイヤー反射モデルがフレネル反射に未対応であったりDesigning Reflectance Models for New Consoles P.21 トライエース 2014年、拡散反射のオーレン・ネイヤー反射モデルと鏡面反射の反射モデルでラフネス相当のパラメータの範囲が異なっていたりPBR Diffuse Lighting for GGX+Smith Microsurfaces P.6-8 UBM Tech 2017年3月など、問題が多かった。
2012年、「Disney 原則BRDF」が登場し、独自の拡散反射モデル (Disney diffuse BRDF)と、GTR分布関数 (GGX分布関数を拡張したもの) ベースの鏡面反射モデルの合成により、両反射モデルのラフネスパラメータが統合された。また、メタルネス (金属さ) が導入され、光の透過や表面下散乱 (含拡散反射) のほぼ起きない「導体 (金属) 」薄い金属フィルムでは光の吸収が起きる前に透過してしまう (/表皮深さ)と、金属光沢 (鏡面反射色のある強い鏡面反射) の起きない「誘電体 (非金属)」が別扱いされるようになった。また、影響の大きな色である導体の鏡面反射色および誘電体の拡散反射色が基本色 (ベースカラー)として同一に扱われるようになった。
2014年、マイクロファセット理論におけるフレネル反射の計算に、屈折率1.2〜2.2を近似した従来のに代わって、正確なGulbrandsenのフレネル方程式が登場したglTF 2.0 Specification Khronos GroupFresnel Equations Considered Harmful Naty Hoffman 2019年ものの、Gulbrandsenのフレネル方程式はRGBレンダリングにおいて近似となり、Schlickの近似式よりも正確では無いものとなっていた。2019年、LucusFilm の Naty Hoffman によってそれらよりも正確な F82パラメータ(82度における反射率)の導入が提案されたFresnel Equations Considered Harmful (Slides) Naty Hoffman 2019年ものの、F82パラメータはエネルギーの保存に問題が存在した。2021年、「Adobe Standard Material」が登場し、そこにはその改良版である F82-tint(82度における色合い)が導入された。
2015年、「Disney 原則BSDF」が登場し、鏡面反射における多重散乱効果を手動で補正するためのSheenコンポーネントが導入されたPractical multiple scattering compensation for microfacet models Emmanuel Turquin 2019年。2016年、従来の単一散乱のみの鏡面反射モデルに代わって、多重散乱をシミュレーションする鏡面反射モデルの Multiscatter GGX が登場したMultiple-scattering microfacet BSDFs with the Smith model Eric Heitz, et al. 2016年ものの、この手法は計算の正確な代わりに速度の遅いものとなっていた。その後、Multiscatter GGX を近似やルックアップテーブルなどによって高速化したモデルが多数登場していく。2017年には相反性を維持したまま高速化する Kulla and Conty の手法が登場しRevisiting Physically Based Shading at Imageworks ソニー・ピクチャーズ・イメージワークス 2017年、2019年には相反性が崩れるもののサンプリングを最適化した Emmanuel の手法が登場する。またリアルタイムで多重散乱を再現するための手法も多数登場した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 GoogleStephen McAuley, A Journey Through Implementing Multiscattering BRDFs & Area Lights SIGGRAPH 2019年。
なお、拡散反射は表面下散乱の近似だとされているが、表面下散乱の距離が0に近い場合、一般的な拡散反射モデルに使われている完全拡散反射 (ランバート反射) とはならず、Chandrasekhar BRDFとなる『Real-Time Rendering, Fourth Edition』 P.352-353 Tomas Akenine-Moeller、Eric Haines、Naty Hoffman 2018年9月10日 ISBN 978-1138627000。
異方性反射 1992年、経験則に基づく高速な異方性鏡面反射に対応するWard BRDFが登場するMeasuring and Modeling Anisotropic Reflection Lawrence Berkeley National LaboratoryNotes on the Ward BRDF Bruce Walter 2005年4月29日も、グレージング角でのエネルギーの保存に問題があったほか、バイアス無しのサンプリングも不可能となっていたAn Anisotropic Phong Light Reflection Model Michael Ashikhmin, Peter Shirley 2001年。1997年にはPhongローブを用いてエネルギーを保存しながら異方性反射を行うLafortuneモデルが登場するNon-Linear Approximation of Reflectance Functions Eric P. F. Lafortune, et al. 1997年Isotropic and Anisotropic Interfaced Lambertian Microfacets p.1, p.16 Daniel Meneveaux, et al. 2015年12月21日も、フィッティング向けでありアーティスト向けではないという問題が存在した。
2000年、これらの問題を解決するためのAshikhmin-Shirleyモデルが登場するAn Anisotropic Phong BRDF Model Michael Ashikhmin, Peter Shirley 2000年8月13日も、シャドウイング項に不連続性が存在したPhysically Based Shading at Disney p.23 Brent Burley 2012年。2007年、その不連続性の問題を解決するAshikhmin-Premozeモデルが登場した。
2010年、Kurtらによって前述のBeckmann分布関数に異方性が導入され、2012年、「Disney 原則BRDF」で前述のGTR分布関数に異方性が導入されたBRDF Representation and Acquisition p.8 D. Guarnera, et al. 2016年。
クロス (Sheen) 1992年、Westinらはモンテカルロ法を用いてマイクロスケールジオメトリの散乱から球面調和関数 (SH) ベースのBRDFへとフィッティングする手法を開発し、その手法をベルベットや織物へと導入したPredicting reflectance functions from complex surfaces Stephen H. Westin 1992年。
2000年、Ashikhminらはガウス分布ベースのマイクロファセットBRDFモデルの生成手法を開発し、その手法をベルベットやサテンへと導入したA Microfacet-based BRDF Generator pp.8-9 Michael Ashikhmin, et al. 2000年。
2012年、「Disney 原則BRDF」で布地向けとして追加のSchlick Fresnelローブによるsheenパラメータが導入されるPhysically Based Shading at Disney pp.10-11, p.26 Brent Burley 2012年も、前方散乱のみであり後方散乱の欠いたものとなっていたPractical Multiple-Scattering Sheen Using Linearly Transformed Cosines Tizian Zeltner, et al. 2022年。
2017年、ソニー・ピクチャーズ・イメージワークスは乗正弦波を用いて後方散乱に対応するCharlie sheenモデルを開発するProduction Friendly Microfacet Sheen BRDF Alejandro Conty Estevez, et al. 2017年Physically Based Rendering in Filament Googleも、逆に前方散乱はほとんど無いものとなっていた。
2022年、Disneyらはそれらの問題を解決するLTCベースのZeltner sheenモデルを開発し、2024年登場の OpenPBR Surface モデルでその Zeltner sheen モデルが推奨されたOpenPBR Surface Specification v1.0 Academy Software Foundation 2024年6月4日。
表面下散乱
表面下散乱では1993年、BRDFを表面下散乱へと近似したHanrahan-Krueger BRDFが登場したPhysically Based Rendering: From Theory To Implementation - Light Transport II: Volume Rendering - Further Reading Matt Pharr、Wenzel Jakob、Greg Humphreys 2018年。
2001年、医療物理学向けの手法の応用により、双極子 (Dipole) モデルを用いたBSSRDFベースのレンダリング手法が確立された"毛"の表現の新境地をもとめて ~前編~ CG-ARTS 2011年6月15日ものの、多重散乱部分は近似となっていたExtending the Disney BRDF to a BSDF with Integrated Subsurface Scattering P.7-10 Walt Disney Animation Studios 2015年。
2015年、拡散モデル向けに単一散乱および多重散乱の両方を同時に近似したChristensen-Burley拡散プロファイルが登場しApproximate Reflectance Profiles for Efficient Subsurface Scattering Pixar 2015年、この拡散プロファイルは同年のDisney BSDFでも採用された。
しかし、拡散モデルは平らな表面を前提としているために曲率の高い表面でアーティファクトが多く、Disney BSDFでは正確でアーティファクトの少ないPath-traced subsurface scattering (ランダムウォーク方式) も検討された。2014年には原子力学で使われていたゼロ分散なDwivediサンプリングをランダムウォーク方式の表面下散乱に使うことが提案されておりA Zero-Variance-Based Sampling Scheme for Monte Carlo Subsurface Scattering Jaroslav Křivánek、Eugene d'Eon 2014年実際はその前からAsymptotic Guidingとして提案されていた。Advances in Monte Carlo Rendering: The Legacy of Jaroslav Křivánek p.130 Alexander Keller, et al. 2020年、2016年にはその改良版が登場しImproving the Dwivedi Sampling Scheme Johannes Meng、Johannes Hanika、Carsten Dachsbacher 2016年、多くのレンダラーがランダムウォーク方式に対応していった。
2017年、Disney子会社のPixarはPath-traced subsurface scatteringの新たなモデルを公開したPath Traced Subsurface Scattering using Anisotropic Phase Functions and Non-Exponential Free Flights P.2 PIXAR 2017年7月。このPixarの論文では異方性に加えてランベルト・ベールの法則よりも正確な非指数関数モデルが導入されたPath Traced Subsurface Scattering using Anisotropic Phase Functions and Non-Exponential Free Flights P.8-9 PIXAR 2017年7月PIXAR Deep Dive on SSS : SIGGRAPH Preview fxguide 2017年7月28日。
一方、アルベド逆算では2017年に Sony Pictures Imageworks が van de Hulst の近似式の使用を公開したRevisiting Physically Based Shading at Imageworks p.44 Sony Pictures Imageworks 2017年ものの、この近似式は誘電体境界(フレネル反射)を無視したものとなっておりOpenPBR: Novel Features and Implementation Details pp.30-32 Jamie Portsmouth et al. 2025年、翌2018年には Disney が Hyperion Renderer に導入した IOR 1.4 の誘電体境界を考慮する近似式 (Hyperion mapping) を公開したThe Design and Evolution of Disney’s Hyperion Renderer Walt Disney Animation Studios 2018年。2024年の OpenPBR 仕様では van de Hulst の近似式のみが記載され他の近似式は簡易な紹介に留まったもののものの、2025年には Arnold Renderer の OpenPBR 実装として Hyperion mapping に異方性の考慮を加えたものを採用したことが公開された。
リアルタイム表面下散乱
リアルタイムにおける表面下散乱の表現では当初、擬似的なHalf-Lambertシェーダーが使われていた。その後、Wrapped Diffuseシェーダーにルックアップテーブルでカラーシフトを加える手法、深度マップを用いた吸収の近似、テクスチャ空間でのガウシアンぼかしによる拡散の近似が登場したGPU Gems - Chapter 16. Real-Time Approximations to Subsurface Scattering NVIDIA 2004年。
2009年、テクスチャ空間の代わりにスクリーン空間でぼかし処理を行うScreen Space Subsurface Scattering (SSSSS)が登場したReal-time rendering of subsurface scattering according to translucency magnitude Hiroyuki Kubo, et al. 2015年。2012年にはスクリーン空間でのぼかし処理を2つの畳み込みまで減らして高速化したSeparable Subsurface Scattering (SSSS)が登場したSeparable Subsurface Scattering Jorge Jimenez, et al. 2012年。Disney BSDF登場後は、ガウシアン拡散プロファイルの代わりにChristensen-Burley拡散プロファイルが使われるようにもなったEfficient Screen-Space Subsurface Scattering Using Burley's Normalized Diffusion in Real-Time Unity Technologies 2018年。
また、表面下散乱の透過のために、焼き付けたThicknessマップも使われるようになったEfficient Screen-Space Subsurface Scattering Using Burley's Normalized Diffusion in Real-Time P.39-40 Unity Technologies 2018年。
透過・半透明
レイトレーシング導入前の透過には、2次元的なアルファブレンドが用いられていた。
レイトレーシング導入後、屈折の再現が可能となった。また、ランベルト・ベールの法則に基づく指数関数的減衰の再現により、半透明における、より正しい体積吸収 (ボリュームアブソープション) の再現が可能となった (なお、ランベルト・ベールの法則は関与媒体が無相関の場合のみ正確となる)。
また、位相関数を用いたボリュームレンダリングも行われるようになった (#ボリューム (体積)も参照)。
薄いサーフィスにおいては、「表面下散乱による拡散透過」が導入されたほか、屈折にもマイクロファセット理論が導入され、粗い (ラフネスの高い) 表面により拡散された拡散透過および鏡面透過の再現が可能となった。
また屈折における波長による光学的分散 (optical dispersion) も導入されていった。Autodesk Arnold のシェーディングモデルに基づく Autodesk Standard Surface では光学的分散にアッベ数指定の分散パラメータが導入されたA Standard Surface(2019年時点のキャッシュ) Autodesk一方、Adobe Substance 3D のシェーディングモデルに基づく Adobe Standard Material ではアッベ数の逆数をスケールした分散パラメータが導入されNovel aspects of the Adobe Standard Material pp.9-10 Adobe 2023年5月11日、2024年にAutodesk Standard Surface および Adobe Standard Material の後継として登場した OpenPBR Surface モデルでは分散にアッベ数とスケールの両方が指定するものとなった。
薄膜干渉
単一層の薄膜干渉では1992年に Smits and Meyer の手法が登場したものの、制約の多いものとなっていたA Practical Extension to Microfacet Theory for the Modeling of Varying Iridescence p.65:2 Laurent Belcour、Pascal Barla 2017年。
2017年、単一層の薄膜干渉にマイクロファセット理論が導入された Belcour-Barla 薄膜モデルが登場し、ラフな表面でも薄膜干渉の再現が可能となり、その後の Autodesk Standard Surface にその Belcour-Barla 薄膜モデルが導入され、2024年登場の OpenPBR Surface モデルでもそのモデルが推奨された。
再帰反射
再帰反射では2015年に背面ベクトル定式化を導入する Belcour らの再帰反射モデルが登場したLaurent Belcour et al. BRDF Measurements and Analysis of Retroreflective Materials HAL 2015年1月6日。
2026年には既存の微細表面 (マイクロファセット) モデルに背面ベクトル定式化を組み込んだ Minimal Retroreflective Microfacet (MRM) モデルが登場したJamie Portsmouth et al. The Minimal Retroreflective Microfacet Model 2026年。
電磁スペクトル
3DCGのレンダリングでは昔より可視光の電磁スペクトルを考慮した物理的なスペクトラルレンダリングが考案されMaxwell Renderなどの一部のレンダラーに実装されていたものの、多数の固定波長によるスペクトラルレンダリングでは速度の問題が存在する一方、各単一波長でのモンテカルロレイトレーシングによるスペクトラルレンダリングでは色ノイズの問題が存在しており、一般的なレンダリングの主流は長らく非物理的な光の三原色(RGB、赤-緑-青)によるRGBレンダリングに留まっていたSpectral Imaging in Production p.1-2 Andrea Weidlich, et al. 2021年。しかしながらRGBレンダリングには反射を繰り返すごとに色がズレていく、条件等色(メタメリズム)の再現が出来ない、光の分散や干渉や蛍光(増白も含む)が近似計算になるなどの問題が存在していた。
2014年に代表波長スペクトラルサンプリング (Hero Wavelength Spectral Sampling) が登場するHero Wavelength Spectral Sampling A. Wilkieら 2014年と、四波長ないし八波長での処理により、よりノイズの少ないスペクトラルレンダリングが可能となったManuka: Weta Digital's Spectral Renderer Johannes Hanika 2017年。
スペクトラルアップサンプリング