1
トーンマッピングと目の順応-淡い色と暗い画像
私は目の順応とHDRとともにトーンマッピングを実装しようとしています。実際に実装しましたが、結果に満足できず、何か間違ったことをしたと思います。 私の最終的な画像(後処理前)は、フロートテクスチャの半分に保存しています。2つのヘルパーテクスチャもあります。最初のログは、最後のミップマップにログの輝度とその平均、最小、最大の色を保存します。2つ目は、次のように計算される適応値を格納します。 prevLum + (avgLum - prevLum) * (1.0 - exp2(-adaptionRate)) ここで、prevLumは以前の適応値です(このテクスチャのサイズは1x1です)。対数輝度テクスチャはR8B8G8形式で、2番目はR8です。チュートリアルでは、フロートテクスチャの半分が使用されていることを確認しましたが、私の場合、画像が明るすぎます(ほぼ白)。 最後のポストプロセスシェーダーでは、このコードを使用してアイアダプテーションとトーンマッピングを取得するためにすべての値を使用しています。 float autokey(in float lum) { return 1.03 - 2.0 / (2.0 + log10(lum + 1.0)); } float hejl(in float color) { float x = max(0.0, color - 0.004); return (x * (A * x + B)) / …