Graphics Pickup 2022/10/15

■ GeForce RTX 4080 12GBが発売中止。NVIDIA「名前が紛らわしいため」

https://pc.watch.impress.co.jp/docs/news/1447833.html

メモリのバンド幅などの違いで、30%は遅くなっていると言及されていましたが、製品名の変更が行われるそうです。

■ NVIDIA ADA GPU ARCHITECTURE のホワイトペーパー

新GPU、ADAの構成についてや、従来製品との比較の公式情報が載っています。

https://images.nvidia.com/aem-dam/Solutions/geforce/ada/nvidia-ada-gpu-architecture.pdf

■ FluidNinja 1.8 のアップデート

どんどん進化していますね。

■ How Ray Tracing (Modern CGI) Works And How To Do It 600x Faster

レイトレについて、さらに600倍早くすると言われる ReSTIR の解説.

■ The real time distance Field Generator

https://threadreaderapp.com/thread/1577590023888723970.html

■ UE5.1、Nanite について God_Of_Pen 氏のノート

https://golden-mandolin-675.notion.site/Notes-about-Nanite-in-UE5-1-preview-1bd49cb5986a46629214b82f9ce58ae5

■ Niagara の GPU Ribbon

ClearCoat Material に関する情報とリンク

UE4,UE5に代表される、ClearCoat の内容の簡単な情報収集。

利用用途ととしては、主にハードサーフェイス系のマテリアルのシェーディングに用いられる。

説明については下記にあり。

クリアコート モデルと言えば、よくカーペイント タイプのマテリアルが連想されますが、使用はそれに限定されません。標準的な材質の上に薄い半透明の表面がある多層材質をシミュレートするのにも使われます。金属の表面にも非金属の表面にも使えます。

https://www.unrealengine.com/ja/tech-blog/improved-shading-models-in-unreal-engine-4-25-and-beyond

現実では、自動車の塗料用の用語としても用いられる。

上塗カラーを塗装した上に塗り重ねる、最終的な上塗(トップコート)としてクリヤーを塗装することをクリヤーコートといいます。

https://www.paint-works.net/color_mix/point/point04.htm

UEの実装としては、2つあり、

・塗装のような通常のClearCoat
・カーボンファイバーなど複雑なものに向けた、Dual-NormalClearCoat

と分かれているようだ。

Dual-NormalClearCoatは、2つ目のNormalが必要なようで、プロジェクト設定から変える必要がある。

https://docs.unrealengine.com/4.27/ja/RenderingAndGraphics/Materials/HowTo/ClearCoatDualNormal/

マテリアルのピンについては、DefaultLitと比べて、

・ClearCoat

・ClearCoatRoughness
が追加される。

2つ目のNormalを使用する場合は、特殊な手順とノードを利用する必要があるようだ。

ClearCoatBottomNormal マテリアル式ノードを必ずマテリアル グラフに追加して、使用したい法線マップを入力に接続しておいてください。そうしておかないと、マテリアルの中で 2 つ目の法線マップを見ることができません。

https://docs.unrealengine.com/4.27/ja/RenderingAndGraphics/Materials/HowTo/ClearCoatDualNormal/

組み込みのチュートリアルは色々と公開されているので、使いたくなったら参考にしてみるのが良いだろう。

実装について。

Shaders\Private\ClearCoatCommon.ush

にシェーダ関数が存在する。

ClearCoatLayerCombine を見ると、GBuffer に ClearCoat 用のFloat2つのバッファが存在し、そのパラメータを元にシェーディングを利用しているように見える。

なお、SecondNormalを有効にすると、プロジェクトに対してシェーダ全コンパイル相当の依存が掛かるようです。

式やレンダリングの詳細については、必要が出たら調査しようと思います。