tabstop Annex B

GIMPでイラストを描いていくよ!

Gimp機能拡張 混色ブラシ編 -- やっとできたよレイヤー対応

2008-01-15 | Gimp拡張
以前に失敗したGIMPの混色ブラシの透明レイヤー対応ですが、自分じゃ使わないなぁと思って放っていました。
ところが、正月に自分で使っていてレイヤーモードにまともに対応しないと変な黒ずみが発生してしまうことが分かりました。
で、しょうがないので以前開発中だった透明レイヤー対応に手を入れて対応させてみました。理屈では、透明なレイヤーだろうと、RGBだけのレイヤだろうと同じ結果になるはずですが...
微妙になりません。透明レイヤーの方がちょっと色伸びが弱いような...
...このくらいなら誤差としよう :-)

それにしてもものすごく遅くなりました。
前の方式でも遅くなるかなーとか思ってましたが、比較になりません。
まあ、とりあえず動けばいいやで作ったんで、もうちょっとチューニングしないとダメかも、です。
今のところ、機能開発よりも中身の整理整頓を優先中なので、いつになるかはわかりませんが...

最新の画像もっと見る

3 コメント

コメント日が  古い順  |   新しい順
Unknown (やまかわ)
2008-01-15 04:39:57
たぶんこちらのAlpha channel mixingとは違うアプローチなんですよね……

# 求めている効果がこちらが予測しているのと同じかどうかもよく分かっていませんが(汗

コード覗き見してみたいです。
返信する
Unknown (しげっち)
2008-01-15 11:14:17
sigパッチの080115-2にアップロードしました。
見てもらえば分かると思いますが、やっていることはほとんど同じです。
mixbrush_paste_canvas_paint/mixbrush_paste_canvas_apply
あたりが実装です。むしろ、その呼び出し元のGimpPaintCoreの方をかなりいじってますけど...
全然最適化かけていないので、そんなに早くありません ;-)
返信する
Unknown (しげっち)
2008-01-15 12:38:24
これからの予定としては
・Mixbrushの混色部分をGimpMixbrushから切り離して別クラス(MixbrushModifier)にする
・Mixbrush→CustomBrushに変更して、混色部分のメソッドを呼び出すだけにする
・options/toolはどうしよう・・・
って感じで実装して、MixbrushModifierを外のdllからロードできるようにしようって考えてます。そうすれば、Mixbrushの実装だけあとから差し替えられるので。
問題は、4月までは平日に全く時間もネットも使えないってことですけど...
返信する

コメントを投稿