DirectXのシェーダーで、カラーフィルタを試しておりました。
Brightnessを上げていったところ、以下の計算において
おそらく、何か問題があるせいか、白飛びするべき箇所が
白ではなくて、紫っぽい色が出てきたりと、色がおかしくなって
しまいます。
float3 hsv = RGB_to_HSV(saturate(fragColor.rgb)); hsv.y *= 1.0f + Saturation; hsv.z = pow(hsv.z, 1.0f / Gamma); hsv.z = hsv.z * (1.0f + Brightness); hsv.z = 0.5f + (hsv.z - 0.5f) * (1.0f + Contrast); fragColor.rgb = HSV_to_RGB(hsv);
カラーフィルタの正しい計算式を探しだして、上記のコードと照合しようとしておりますが、今のところ見つかっておりません。
(上記のコードは、前任者から引き継いだものです。)
(HSVとRGB同士の変換は見つかりまして、おそらく、ここには問題がなさそうです)
もし、カラーフィルタの計算式について、お勧めのサイトや本などをご存じの方がいらっしゃいましたら、ご教示頂けると助かります。
どうぞよろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/26 07:31
2017/10/26 07:39