- 280 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 13:34:43 ]
- DXライブラリに実装されているSetDrawBrightという関数と同じような振舞いをする
振舞いをする画像処理関数が必要になったんですが、 現在使用しているライブラリには用意されていなかったのでCで安直に実装しましたところ、 しかし泣けるぐらい重くなってしまいました。 処理の内容としては それぞれ1Byteのデータr g b aと適用前のピクセルpの成分pr pg pb paが与えられたときに 適用後のピクセルqの各成分である qr = pr * r/0xff, qg = pg * g/0xff, qb = pb * b/0xff, qa = pa * a/0xff を計算し合成しqの値を求めるというものです。 1.こういうのって正式な呼び方ありますかね? DxライブラリではSetDrawBrightというような名前で使われていたので、 明度と関係がありそうなんですが、それだけでは上手く絞り切れませんでした。 今後自力で調べるときのキーワードとして上手く機能する呼び方というものは 知っておきたいです 2.また、効率のよい実装例、方針があれば知りたいです。 自力ではSIMDを使って乗除と最終的に各色成分をシフトして&合成する処理を、 それぞれ一纏めにできそうというぐらいしか思いつきません。
|

|