Q1.
ACESトーンマッピングが使用できるようなのですが、MayaやNukeと比較しても色味が合わない。
テクスチャの扱いや、内部でACESレンダリングをして、最後にsRGB、Rec709などにどうやって変換をしているのか、エンジンで何が起きているのか分からないので、教えて頂きたい。
A1.
ACEsカーブには複数の実装があり、現在我々はこちらのバージョンを使用しています。
( https://github.com/TheRealMJP/BakingLab/blob/master/BakingLab/ACES.hlsl )
記事へのリンク : https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/
トーンマッピングの独自の実装を記述してより的確に色彩を合わせたい場合には、シェーダーで上書きして色味を再現することができます。
Q2.
Diffuseはライティング/レンダリングをする際にLinear Spaceに変換され、
Normal mapとRoughnessなどは元々Linearですので、ガンマ変換をかけないという認識であっているか。
この変換するしないの判定はMaterialのDiffuse、Roughness、Normal Mapのテクスチャとして結びつけたときに判断されますでしょうか。
もしくは画像に対する判定している場合はそのルールをお伺いしたい。
A2.
色を表すテクスチャと頂点の色データは、常にガンマ空間(sRGB)に格納されていると見なされます。
これらは、例として、Albedo、Diffuse、Emissiveテクスチャ、およびVertex colorsです。
これらが標準マテリアル用に生成されたシェーダーによってサンプリングされると、照明用のリニア空間に変換されます。
色以外のデータ(Roughness、Normal mapなど)を表す他のテクスチャは、リニア空間に格納されていると見なされ、シェーダーでガンマ補正を適用しません。
したがって、一般的に、ガンマ補正は、テクスチャが標準マテリアルのどのスロットにアタッチされるかに基づいています。
これは、標準マテリアルで使用されるシェーダーに固有であることに注意してください。
完全にカスタムのフラグメントシェーダーを自分で作成する場合は、必要に応じてガンマ補正を実行するために、正しいサンプリングマクロなどを使用する必要があります。
コメント
0件のコメント
サインインしてコメントを残してください。