09/09/04 18:01:51
ありがとうございます。
>>281
調べてみると、とても遅いというのは他の所が原因でした。
直してみましたがそれでもやや遅い気がするのでSIMD化を試してみたいと思います。
/0xffは最適化を有効にするとコンパイラが右shiftに直してくれるようです。
>>282
これも乗算合成というのですか。
SDL_gfxにも.*Mult.*という乗算らしきものがあるんですが、
これの場合はDXライブラリのSetDrawBrightや今回実装したものとは振舞いが違うようでした。
具体的には、imageFilterMultではs0とs1を取ってs0*s1を計算する
つまり0<s0*s1<(s0またはs1)にはならないとかです。
他にはs0/s1を計算する除算とかs0/2 * s1とかs0/2 * s0/s1がありましたが、
どれも目的の振舞いとは違ったものでした。
なので、乗算合成だけではこの振舞いをするものは絞り込めないように思います。
ディスプレイの明るさ(ガンマではない)調整機能でRGB独立に調整できるものがありますが、
それが近いような気がします。
この振舞いに対応するキーワードがあればいいんですが…