物理ベースレンダリングーーディズニーのレンダリングモデル

今日は、物理ベースレンダリングに関する論文を紹介します。この論文は、2012年のSiggraphグラフィックスカンファレンスでディズニーが共有したPBRテクノロジーに関するレポートです。PBRは、最近のゲームレンダリングの分野における比較的高度なレンダリングパイプラインです。 PBRは、LambertおよびPhongモデルに基づく従来のレンダリングパイプラインと比較して、より現実的な材質（マテリアル、以下も材質）モデルを採用しています。これにより、オブジェクトの表面のさまざまな粗さによってもたらされるさまざまな反射効果をより適切に表現して、さまざまな材質をよりリアルに１シミュレートできます。 PBRを使用する材質は、金属、非金属、およびさまざまな粗さの材質の光に対する反射効果をより適切にシミュレートできます。PBRは、過去数年間はリアルタイムのゲームレンダリングにのみ使用されてきましたが、オフラインの映画のレンダリングには数年間使用されています。本論文は、前任者によって提案された材質モデルに基づいており、実際に測定された材質データを分析および比較することにより、新しい材質モデルを提案します。最終的に、ディズニーはこのアプローチを映画のレンダリングに適用しました。

PBRレンダリングパイプラインの原理に関心のある開発者がこのペーパーを通じてPBRの理解を深め、プロジェクト開発でPBRパイプラインをより有効に活用し、満足のいくレンダリング結果を達成できることを期待して、このペーパーをお勧めします。


![Blog-Study_Shader@Disney-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/dcd466ae-69e9-034c-fd08-01fa23997970.png)

上図は、ディズニーのアニメーション映画Wreck-It Ralphのスクリーンショットです。キャラクターの頭頂部にある金属製の王冠と非金属製の襟が、リアルに近いレンダリング効果を実現できることがわかります。



前任者によって提案された物理ベースの材質モデルとは異なり、この論文の材質モデルは、設計当初の物理的正確性の原則に基づいているのではなく、アーティストが理解できて使用しやすくするという原則に基づいています。論文の著者は、物理的に正しいかどうかは重要ではないと考えています。重要なのは、アーティストのニーズを満たすことができ、使いやすく、理解しやすいことです。したがって、彼らは5つの主要な設計原則を提案します。



１、使いやすさと理解のしやすさは、物理的なリアルよりも重要です。

２、調整可能なパラメータが少ないほど、優れています。

３、パラメータの値は、効果の許容範囲内で（0〜1）に正規化する必要があります;

４、パラメータには、実際の許容範囲（0〜1）外の値を割り当てることができます。

５、すべてのパラメーターの組み合わせの効果は、許容可能で安定している必要があります。

これらの5つの原則に基づいて、この論文の著者は11個のパラメーターで表される材質モデルを提案します。次の図に示すように、さまざまなパラメーターに従って、さまざまな材質をレンダリングできます。

![Blog-Study_Shader@Disney-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/f62e7345-8ec9-3c54-49c6-67f75215a433.png)


上図からわかるように、パラメータを簡略化した後、この論文で提案する材質モデルは11個のパラメータを使用して、金属、非金属、およびさまざまな粗さの材質の照明結果を非常にリアルにシミュレートします。



上記の5つの原理と実際の測定データの観察に基づいて、従来の微小面材質モデルのさまざまな関数が変更されました。では、まず従来の微小面モデルの定石を紹介し、次にその中の各関数を説明し、論文で使用されている各関数の定石を紹介します。



この論文のモデルは、Cook-Torranceモデルで最初に登場したマイクロサーフェスモデルの定式を採用しています。
![Blog-Study_Shader@Disney-GS1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/e2a37249-af01-2c3a-3bf0-02c3bfb80088.png)

ここで、ベクトルlとvはそれぞれ入射光と視線の方向を表し、ベクトルhはlとvの間の中間ベクトルを表し、それらと法線方向の間の角度は対応する下付き文字θで表されます。θdは、lとvの間の角度の半分を表します。diffuseは拡散反射関数、Dは微小面分布関数、Fはフレネル係数、Gは影係数です。この論文のモデルのdiffuse関数は次のとおりです。

![Blog-Study_Shader@Disney-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/4262769b-b314-fd52-c69a-6276ec940c3f.png)
![Blog-Study_Shader@Disney-GS2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/a84d3d6d-ab02-8125-eb43-326319183f85.png)

その中で、roughnessは粗さを表します。微小面分布関数Dの場合、現在最も優れている分布関数は、よく知られているGGX関数です。ただし、論文の著者は、GGXよりも一般的な形式のGTR（Generalized-Trowbridge-Reitz）を使用しています。

![Blog-Study_Shader@Disney-GS3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/a97189ea-388c-74a0-5942-1f8e20520eb5.png)


それとGGXの違いは、GGXは上記の式でγ=2の場合の結果であるということです。著者は、それぞれγ=1とγ=2を使用して、2つの異なるGTR関数を使用して鏡面反射項を適合させました。αの値はroughnessの2乗であり、cは全体的なスケーリングを調整するために使用される定数です。フレネル項Fの場合、この論文ではSchlickの式を使用しています。

![Blog-Study_Shader@Disney-GS4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/bea302db-e132-7ca6-50a8-acbe194dd1aa.png)


ここで、F0は定数で、その値は材質の透過率に依存します。影の係数Gについては、著者はWalterが論文でGGXから導出したG式を採用し、式のroughnessを[0、1]から[0.5、1]の範囲にスケーリングします。このスケーリングの理由は、実際の測定データとの比較およびアーティストからのフィードバックに基づいて、roughnessの値が小さい場合にハイライトが明るすぎるように見えるためです。このスケーリングプロセスにより、モデルは物理的に正確ではなくなりますが、アーティストのニーズを満たすという設計原則を反映しています。



以下では、論文の実験的な部分、つまり実際に収集されたデータを観察し、材質モデルを設計する方法を紹介します。興味があれば読み続けることができます。または、結論と今後の作業のセクションに直接スキップすることもできます。

---


## 一、実際に収集されたBRDFデータを視覚化する



著者は、Matusikの2003年の論文のデータ集合を利用しています。これは、Mitsubishi LabsのWebサイト（www.merl.com/brdf）から無料でダウンロードできて、木材、金属、石、プラスチック、ゴム、繊維などの実際の材質に関するデータが含まれています。以下に示すように、各材質はさまざまな入射角と出口角に従ってサンプリングされます。
![Blog-Study_Shader@Disney-8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/a55cb54c-bcf4-7c2a-81c6-8c1dbffea808.png)



著者は、実際の測定された材質データを表示し、BRDFモデルでレンダリングされた結果を比較するためのシステムを開発しました。これは、次の図に示すように、GitHub（github.com/wdas/brdf）から無料でダウンロードできます。

![Blog-Study_Shader@Disney-9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/55756b61-4852-be08-8377-2886a2a08780.png)


その中で、実際の測定データ（ImageSlice）またはレンダリングされたデータ（Lit Object / Lit Sphere）を表示して比較することを選択できます。

---


## 二、実際のデータから観察された結果



拡散面への観察によると、Lambertモデルの仮定の下では、純粋な拡散反射には方向性がなく、反射光は各反射方向で同じ値になりますが、Lambertモデルの仮定前提を表すことができるオブジェクトは少ないです。特に視線と法線が垂直に近い領域（grazingangle area）では、以下に示すように、急激な減衰を示すものがあり、明るさの増加を示すものもあり、それは物体の表面の粗さに密接に関係しています。

![Blog-Study_Shader@Disney-10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/2de29e72-d2e9-1df5-04d0-1aa7171e6740.png)


左から右に、粗い表面、滑らかな表面、およびLambert モデルによってレンダリングされた拡散反射の結果です。ボールのエッジでは、粗さの程度が異なると効果が異なり、Lambert モデルはこれをよく示していることはできないことがわかります。Oren NayerやHanrahan-Kruegerなどの以前のモデルは、この現象をある程度シミュレートしていますが、この現象を表すには十分ではありません。したがって、この論文の著者は、材質モデルの拡散部分を設計するときにこの現象を考慮に入れました。



著者の鏡面反射現象（微小面分布関数に対応）の観察によると、実際に収集されたデータの鏡面反射追跡は、Beckmann、Blinn Phong、Gaussianなどの従来の材質モデルよりも長くなります。次の図に示すように、実際の測定結果と比較すると、GGXのレンダリング効果が最も近くなっています。
![Blog-Study_Shader@Disney-11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/d64966c3-36e3-11a7-3657-39b27501b9bb.png)





左側は実際の測定結果、中央はGGXモデルでレンダリングされた結果、右側はBeckmannモデルでレンダリングされた結果です。したがって、提案された材質モデルでは、論文の著者は、鏡面反射項DとしてGGX（GTRγ= 2の場合）とGTRγ=1の関数混合を採用しています。

![Blog-Study_Shader@Disney-12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/177e2a8d-d6e2-9f96-6a04-16d4579c2716.jpeg)




論文の著者によるフレネル現象の観察によると、入射光と視線の間の角度が180度に近づくと、実際に測定されたすべての材質が強調表示されます。例：上図では、視点から離れるほど反射角度が大きくなり、反射光が明るくなります（写真の1、2、3は遠方から近方、1が最も明るい）。この現象は、Torrance-Sparrow微小面モデルで観察および提案されています。モデルの被除数項は、grazing angle領域で無限大に近づいていますが、G項の減衰がキャンセルされているため問題ありません。著者は、最終的に、SchlickとWalterによって得られた結果を、材質モデルのF関数とG関数として使用します。


---
## 三、レンダリング効果


以下は、論文のアルゴリズムを使用してレンダリングされたWreck-ItRalphアニメーション映画のレンダリング効果です。

![Blog-Study_Shader@Disney-13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/e3345ba4-d7e1-d254-7233-4e7abc75df8e.jpeg)

![Blog-Study_Shader@Disney-14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/653855/48a14355-d09d-7ff0-e0ae-ee0f1c0ecfa0.jpeg)


---

## 四、結論と今後の展望



本日紹介した論文は、実際の測定材質データの分析と比較を通じて、既存の微小面モデルのさまざまな項目を適宜変更し、モデルパラメータを簡略化して、新しい材質モデルを提案します。ただし、このモデルの背後にある原則は、物理的な現実に基づいているのではなく、アーティストにとってやさしく、使いやすいものです。この論文の材質モデルは、より広い範囲の材質ライトの反射を表すことができますが、準表面の拡散反射による照明をシミュレートすることができません。したがって、著者は将来でこの問題に対処することを望んでいます。

---


## 五、論文に関する情報



**論文の著者について**

Brent Burleyは 、1996年にウォルト・ディズニー・カンパニーに入社し、現在はディズニーアニメーションスタジオの主任ソフトウェアエンジニア、製品でのレンダリング・ソフトウェア開発を担当しています。主な成果は次のとおりです。サブディビジョンサーフェス用のオープンソーステクスチャマッピングシステムPtexを開発し、製品のレンダリングに物理ベースの材質モデルを利用しました。



**ダウンロード**
http://blog.selfshadow.com/publications/s2012-shading-course/#course_content

---
UWA Technologyは、モバイル/VRなど様々なゲーム開発者向け、**パフォーマンス分析**と**最適化ソリューション**及び**コンサルティングサービス**を提供している会社でございます。

今なら、UWA GOTローカルツールが**15日間に無償試用**できます！！
よければ、ぜひ！

UWA公式サイト：https://jp.uwa4d.com
UWA GOT OnlineレポートDemo：https://jp.uwa4d.com/u/got/demo.html
UWA公式ブログ：https://blog.jp.uwa4d.com