これはやまかわが、しげっち氏のMixBrushツールとG-Penツールをthe GIMP 2.6.xに移植したうえで、MixBrushツールに独自の改造を行ったものです。
イラストを描くという用途においては機能的に不十分とされることもあるthe GIMPを拡張して、よりハッピーになろうというような趣旨のプロジェクトです。プロジェクト管理者はしげっち氏です。当方はプロジェクトメンバーですが、単に場所を間借りしているだけのような気がしないでもありません;-)
http://cue.yellowmagic.info/main/index.php?gimp-painter-
http://cue.yellowmagic.info/main/index.php?gimp-painter-%2F%C5%C1%B8%C0%C8%C4(連絡用ページ)
プロジェクトのページで配布しているパッケージのうち、しげっち氏が手がけたオリジナルのパッケージがgimp-painterです。gimp-painter-(お尻にマイナスが付く方)はやまかわが自分で使う用に独自の改造を加えたもので、皆さんがこれから使おうとしているのはこちらということになります。
GIMPのソースを展開したら、あとはパッチを適用して普通にビルドするだけです。すでに以前のパッチが適用済みの場合は、ひとつ前の版からのパッチもありますのでそちらを使ってください(版によってはないかもしれませんが)。
2009年6月17日時点での最新版は20090618です。これはGIMP 2.6.6でビルドできることを確認しています。
Note:旧版のパッチについては、20081004版~20090618版が2.6.0~2.6.6に、20080601版~20080901版が2.4.6~2.4.7に適用できると見込まれます。20080518版以前のパッチは2.4.0~2.4.5に適用できるでしょう。
x86系CPU用にビルドされる方は、コンパイルオプションとして浮動小数点数演算にSSE2の使用を強制するスイッチを追加することを推奨します。例えば、gccでは"-msse2 -mfpmath=sse"といった内容になります。SSEのみを強制するとかえってパフォーマンスの低下を招く恐れがあるので注意してください。
gimp-painter-は無保証のソフトウェアであり、公式にサポートが提供されるものではありませんが、不具合に関する情報や要望などを共有する場として、Wikiサイト内にBugTrackと伝言板のページを設けています。ここに寄せられた情報を参考に、対応可能な案件については修正・改良されることがあります。
2chのGIMP関連スレやその他掲示板などに投稿される場合は、他ユーザーの混乱を避けるため、無印GIMPとgimp-painter、gimp-painter-の区別をはっきりするよう配慮願います。
Note:不具合の改善を依頼・要求する目的での2chへの投稿は自粛してください。BugTrack、伝言板、メールによる報告のみ正式な依頼であるとみなします。
その他、当方に連絡を取る必要がある方はメールをご利用ください。アドレスはこのドキュメントの最後に記載されています。
現在配布されているgimp-painter-のWindows用バイナリは、以下のような複数のパッケージ(圧縮ファイル)に分かれています。
[version]の部分にはGIMPのバージョン番号が入ります(例:2.6.6)。[date]にはパッチのバージョン(日付)が入ります。また、[type]には次の区別があります。
gimp-painter-の実行に必要なものがひと通り収録された、スターターキットです。自己解凍ファイルになっていますので、インストールしたい場所を指定し解凍してください(gimp-painter-という名前のフォルダが作成されます)。gimp-painter-を起動するには、gimp-painter-フォルダ内のrun_gimp.wsfを実行(アイコンをダブルクリックするなど)します。
Note:run_gimp.wsfは、必ずgimp-painter-フォルダの中に置いて実行してください。自分自身が置かれている場所を基準にして起動環境の設定を行うため、他の場所に移動させるとgimp-painter-を起動できなくなります。
Pythonサポートを有効にするには、gimp-painter-\gimp\lib\gimp\2.0\pythonフォルダ内の_gimpenums.pyd、_gimpui.pyd、gimp.pyd、gimpcolor.pyd、gimpthumbs.pyd(その他、拡張子.pydのファイルがあれば全て)をPythonのインストール先にあるLib\site-packagesフォルダにコピーし、gimp-painter-\gimp\lib\gimp\2.0\interpretersフォルダ内のpygimp.interpをテキストエディタなどで開き、"python=
"と"/usr/bin/python=
"の右側をご自分の環境に合わせて修正してください。
また、GTK+アプリケーション全般のテーマ設定がMS-Windows(またはwimp engineを使用するその他のテーマ)になっているとボタンやコンボボックスなどの描画がおかしくなりますので、GIMPのテーマをMS-Windowsに変更するか、またはGTK+アプリケーション全般のテーマを他のものに変更してください。
GIMPの実行ファイル本体(gimp-2.6.exe)で、PentiumIII以降のCPU向けに最適化されています。スターターキットと同じく自己解凍ファイルになっていますので、スターターキットの解凍時に指定したフォルダへ解凍してください。
GIMP本体はアップデートされていないが、gimp-painter-のパッチがアップデートされた場合に提供されます。
GIMPの実行ファイル本体で、Pentium4以降のCPU向けに最適化されています。スターターキットと同じく自己解凍ファイルになっていますので、スターターキットの解凍時に指定したフォルダへ解凍してください。
SSE2対応CPU搭載PCではMixbrushの描画速度が改善されます。動作が不安定な場合、また起動ができない場合は使用を取りやめ、スターターキットまたはbin_pentium3を解凍・上書きしてください。
[version]の数字がstarterのものと異なるbin_~を使用してアップデートすることはできません(起動できなくなるか、誤動作の原因となります)。
GIMP本体がアップデートした場合は、gimp-painter-フォルダ内のgimpフォルダを削除してから、新しいスターターキットを同じ場所に解凍してください。
Note:20081110版からは、従来環境設定にあった外観を変更するテーマ設定が削除され、代わりにスクロールバーやダイアログのフォントを調整するテーマに置き換えられました。従来、環境設定でテーマを変更していた場合にはリセットされますので、再度設定し直してください。
スターターキットにはいくつかのテーマ設定が同梱されており、インターフェイスの外観を変更することができます。gimp-painter-フォルダ内のchtheme.batから、テーマとフォントを変更するためのユーティリティーを起動させることができます。
スターターキットには、以下のサードパーティープラグイン・スクリプトがあらかじめ同梱されています。
スターターキットのgimp-painter\gimp\contribフォルダには、作者の再配布許可を得た以下の素材が収録されています。Windows以外のプラットフォームでお使いの方はWikiサイトにてダウンロードしてください。
それぞれの詳しい説明や使用条件などはcontribフォルダにreadmeファイルがありますので、それらを参照してください。
ブリスル風ブラシ(2種・3サイズ)
GIMP萌え絵スレ2匹目のレス番764で紹介された筆圧最適化ブラシと、802で紹介された鉛筆ブラシ
※intuos対応の鉛筆ブラシは収録されていませんので、Wikiサイトにて入手してください。
ハーフトーンパターン
Painterの"テクスチャの作成"で生成したパターンです。テクスチャオン、フリンジオフ、コントラストを高くして筆圧でgrainが-1~1まで可変するように設定して描くとちょっと面白い感じになるかもしれません。
Simple Noize 1
ノイズを元に作成したパターンです。目の粗い紙のテクスチャの代用として使います。
通常は描点毎に行われるドキュメントウインドウ上の表示更新を抑制することで、体感速度を改善します。実際の更新頻度はブラシサイズとストロークの速度によって動的に変化します。
以下のパラメータはデバッグ用なので通常はデフォルト値で使用します。しかし、テスト環境(PentiumD 820 / RAM 2.5GB)と比較して特に遅い、または速いPCを使う場合には調整した方がよいかもしれません。
Tip:Ink/G-Penツール使用時や間隔の値が小さいブラシを使用する場合には、再描画が過剰になりがちなのでSizeを思い切って下げ、ブラシサイズにかかわらず抑制が効くように設定するとよいでしょう。その上で様子を見ながらVelosityとStrengthを適当に加減(通常は下げる)します。
Note:Use merged colorをオンにして全レイヤーの結合色を拾うには、表示更新処理が必要です。Reduce update frequencyをオンにした状態で素早いストロークで描くと、本来とは異なる結果になることがあるので注意してください。
望ましい効果が得られるかどうかはツールの種類やブラシサイズによって異なります。
ブラシサイズを筆圧などでコントロールする際の、(最大筆圧時のサイズを基準にした)最小倍率です。
例えば、1.0を指定すると圧力感度の筆圧をオフにするのと同じことになりますし、0を指定すれば従来どおりの変化の仕方をします。0.5を指定した場合には、最も軽い筆圧で最大筆圧時の50%サイズになります。
Note:20081110版まではオリジナルGIMP由来のコードにより、Minimum scaleに0が指定されていてもある値以下にはならないように制限されていました。20090317以降の版ではその制限が無くなったため、従来0を設定していた方は必要に応じて適当な値(~0.05程度)を設定してください。
ブラシサイズを筆圧などでコントロールする際に適用される補正値で、具体的には入力値に対する指数を表します。1.0より小さな値では軽い筆圧から急にサイズが大きくなり、ある程度筆圧が高くなってくると変化が緩やかになります。また、1.0より大きな値では軽い筆圧で緩やかにサイズが大きくなっていきますが、筆圧が高くなってくると徐々に急な変化を見せるようになります。
オリジナルのGIMPでは入力値のべき乗ではなく平方根をとっていますので、0.5を指定するとほぼ同様の書き味になります(デフォルト)。
Photoshopの「流量」に類似のパラメータで、ストローク中の個々の描点に適用される不透明度を指定します。従来と同様の表現をするには値を100%にしてください。
このパラメータは「重ね塗り」がオフの場合にのみ有効に機能します。
GIMP 2.6.0以降、描画ツールの使用時には内蔵の手ブレ補正がはたらくようになりました。このパラメータは補正の度合いを表します。0にすると補正オフとなり処理が完全にバイパスされます。G-Penツールでは二重補正になるのを避けるため、常に0が(内部的に)指定されています。
※この節はしげっち氏のWikiサイトから転載したものです。
補正するために使用する過去のサンプル数を指定します(1~20)。数が大いほど滑らかな曲線の補正になります。1の場合は普通のインクツールと同じです(20をおすすめ)。
補正に関する適用割合を指定します(0~1000)。数値が大きいほど補正の適用割合が大きくなります。ただし、適用される効果は割合と比例関係にはないので注意が必要です。デフォルト値は25です(20~50程度がおすすめ)。
Note:カーソルを動かす速度によって補正率が変わります。ゆっくりマウスを動かすと強く補正され、素早くマウスを動かすと補正率は弱くなります。
補正が強くなると抜きの部分が途中で止まるような感覚になります。このチェックを入れると最後のカーソル位置まで線を引くようになります(これはこれで使いづらいので、オフにすることをおすすめ)。
参考:以下はインクツールの設定項目です。
線の太さを指定します。ブラシと同じく描点半径のピクセル数に相当しますが、筆圧や筆速の影響を受ける場合にはPaintbrush(絵筆)と違って指定値が最大の太さにはならないので、必要に応じて試し描きを行ってから使用してください。
感度:傾きに0を超える値が指定されている場合の基準の角度を指定します。傾き感知機能を持つタブレットを使用しないと効果はありません。この項目も実際の効果の出方がつかみにくいので、事前の試し描きをおすすめします。
スタイラスの筆圧が線の太さに影響を与える度合いを指定します。スピードの感度が0の場合、1.0を指定すると最大筆圧で補正:大きさの指定値のほぼ2倍になります。
スタイラスの傾きが描点の形状に影響を与える度合いを指定します。
カーソルの移動速度が線の太さに影響を与える度合いを指定します。
ニコニコ動画にも説明をアップロードしていますので、参考にしてください。
※プリセットの利用については、前述の追加素材とプリセットファイルが必要です。
Alpha channel mixingが有効になっている時、テクスチャ効果を適用します。テクスチャのソースはパターンのグレイまたはRチャンネル(要するに最初のコンポーネント)を使用します。
Grainを正の方向に上げていくと、目がだんだんと潰れ着色される部分が増えていきます。逆に負の方向に下げていくと目が粗くなり着色される部分が減っていきます。
チョーク風の表現は-1.0~0、水彩・インク風の表現は0~1.0の範囲で値が変化するように設定するのが目安です。実際には使用するテクスチャの明度やコントラストを見ながら、適当に範囲をずらしてみてください。
テクスチャ適用後のブラシ形状(描点マスク)に対してコントラスト調整を適用します。1.0は無調整で、値が大きくなるほどコントラストが高くなります。
描点毎にテクスチャの位置をずらします。ずれる分量は±指定値の範囲でランダムに決まります。
テクスチャの適用度をブラシのマスクで調整します。結果としては描点の縁にテクスチャが適用される形になります。パターンをうまく選べば絵具がにじんだようにも見えなくはないです;-) Contrastの値が1.0のままだとブラシマスクのグラデーションが出てぼやけた感じになりがちなので、適当に調整してみてください。
Grainは0がいちばん荒い状態で、絶対値が大きくなるほど質感が弱くなります。このとき、正の方向に増やすとテクスチャがオフの状態に近づいていき、負の方向に減らすと描点が痩せていきます。
アルファ付きのレイヤーで、アルファ値を含めた混色を行います。また、混色結果のアルファ値が描画対象ピクセルのアルファ値より小さい場合、実際に描画結果のアルファ値が描画前より小さくなることを許容します(図右側のようなイメージ)。
アルファ付きレイヤーと、それ以外のdrawableとの描画結果の違いを最小限に抑えるには、Paint with pigmentにチェックを入れ、Canvas colorのdensityを1.0に固定してください。
Note:Alpha channel mixingの使用には次の制限があります。
Main colorは筆の穂に含まれる塗料のコントロールになります。Densityは塗料の量を指定するもので、0では全く着色する能力がなくなり、1.0にすると下地の色が混ざらなくなります。
※Paint with pigmentがオフの場合には、Canvas color densityが0でない限り、Main color densityが1.0でも下地の色が混ざります。
塗料の中に前回打った描点のカラーが混じってくる割合を指定します。値が小さいほどより多く混じるようになります。
混色をしたい場合には、Main color rateを低くし、Canvas color rateを高くします。さらに不透明度を筆圧で調整するようにするとよりきれいに処理できるでしょう。
Painterの「色の伸び」に相当するパラメータです(単位はピクセル)。ストロークの長さに比例してMain colorのDensityが下がっていき、指定値に達すると0になります。
Dryoutの値が0の場合は例外として、全く減衰しません。
Main colorとCanvas colorのブレンドには、両者の不透明度(×濃度)の比率を用いる方法と、レイヤーの重ね合わせと同じ方法の2種類があります。Paint with pigmentがオンになっている場合には、後者の方法でブレンドされます。
2007年11月4日以前の版に近い処理をさせたい場合には、Canvas colorのDensityを1.0に固定した上で、Paint with pigmentをオンにしてください。このとき、Main color densityはCanvas color rateに、Main color rateはOriginal color rateに対応します。
Note:このオプションはAlpha channel mixing導入以前に表現の幅を広げる目的で追加したものです。Alpha channel mixingとの相性はあまり良くないので、基本的には常にオンにしておいてください。
下地のカラーが混じる分量を指定します。あえて例えるなら、水や溶剤の分量と言えるかもしれません。
Main color、Canvas color双方のDensityが0の場合には、ペイントしても何も起こりません。ただし、Alpha channel mixing有効時にアルファ付きレイヤーへペイントすると、消しゴムのような振る舞いをします。
下地のカラーとして、ストロークを描画する前のカラーを加味する割合を指定します。値が小さいほどより多く加味されるようになります。高い値では色の伸びが良くなり、若干低い値にすると絵の具の粘りやかすれ感が強調されます。
値がある程度低くなってくると、描点の形が見えて不自然になる傾向がありますので、1.0を基準にして値を少しずつ下げていくのがベターです。
筆圧のパラメータは、入力(タブレットドライバから渡される値)と出力(MixBrushツールが受け取る値)それぞれの最小・最大値を指定する形式になっています。
例えば、入力が0.25~0.75、出力が0.3~0.9となっているとすると、筆圧が0から25%までは30%という出力になり、以降筆圧75%までは出力も上がっていきます。75%の筆圧で最大出力の90%に達し、それを超える筆圧では90%を維持します。
この出力値は、筆圧の適用対象となるパラメータに掛け合わされます。対象パラメータの設定値を1.0に固定しておくと、出力の上限・下限がそのまま対象パラメータの上限・下限になるのでコントロールしやすくなるでしょう。
ちなみに、筆圧によるコントロールを無効にしたい場合は、出力側を両方とも1.0にしておきます。また、出力の1が2より大きな値を取る場合、筆圧が反転されます(筆圧が軽いほど出力が上がる)。入力側については、1と2のどちらが大きい値をとっても(内部処理で入れ替えるので)動作に違いはありません。
ストロークを描画する前のカラーを得る際に、ストロークを開始する前のデータからカラーを取得してしまうと、自分自身のストロークをにじませることができません。
そのため、ストロークの開始後、実際に描点を打ち込むのを一時保留することで適切なカラーを取得できるようにしています。
Delayパラメータは、処理を保留する描点の数を指示するものです。大きな値を指定すると、スタイラスの動きに対して実際の描画が追いかけてくるようになるので多少の違和感があるかもしれません。逆に小さな値を指定すると違和感が軽減されますが、直前の描点のカラーを拾ってしまうため、Canvas color(rate)の効果が得られなくなります。
ストロークの終端Delay個分の描点を処理するように指示します。Delayを1以上にしている場合の描画が気になる方はチェックを外すと気分的には改善されます。
カラーを拾う範囲(直径)の上限をピクセル数で指定します。
GIMPに元々あるAPI関数で平均を取っているのですが、結構重たいのでこのパラメータで制限をかけています。
描画対象レイヤーのカラーではなく、全てのレイヤーを統合した結果のカラーが混じってきます。ブラシサイズがある程度大きくなってくると重くなるので注意。
本来なら、Painterの「下の色を拾う」にならって、描画対象のレイヤーより上位のレイヤーを除いた統合カラーを使用したいところですが、知識不足と手抜きのため現在の仕様になっています。何もないよりはマシだろうということで。あと、制限事項として、レイヤーのキャンバス外にあるピクセルカラーが拾えず、白か黒が混じってくる、というのがあります。
アルファ付きレイヤーにペイントするとき、Canvas colorに白または背景色が混じります。normalは単に(半)透明色として処理します。
タブレット(スタイラス、またはマウス、レンズカーソル)を使用していて描画位置がカーソル位置と異なるような場合、環境設定の「入力デバイス|Use system coords」にあるチェックボックスをオンにしてみてください。
Note:システム座標の使用とGIMPの組み込み手ブレ補正とは相性がよくありませんので、チェックボックスをオンにしている場合はツールオプションのスムージングを0にすることをお勧めします。
Mac OS Xではシステム座標の使用は恐らく効果を持ちません(そもそも描画位置とカーソル位置が異なるという問題が起こらないのではないかと考えられます)。また、環境や使用機器によってはスタイラスとマウス、レンズカーソルの区別ができない可能性があります。動作確認はWindowsをインストールしたPCにWacom Intuos3を接続して行いました。
ツールプリセットを読み込む際、以下の設定は復元されません。
また、Ctrlキーを押しながらツールプリセットを選択した場合には、次の設定も復元されません。
従来通りに復元させるには、Shiftキーを押しながらツールプリセットを選択してください。
Main Color Rateの表示桁数を追加し、スライダーを対数モードに変更しました。
タブレット使用時の座標をCore Pointerから取得できるようにしました。
(2.6.6_090618-1)Windows用スターターキットを更新しました。
Flow値を反映させる処理が適切でなかったため、Paintbrush(絵筆)系のツールを重ね塗りオフで使用した場合の描画結果がオリジナルのGIMPと異なってしまう問題を修正しました。
(2.6.6_090321-1)Windows用スターターキットを更新しました。
(2.6.6_090321-2)Windows用スターターキットを更新しました。
(2.6.6_090321-3)Windows用スターターキットを更新しました。
ブラシサイズの動的変化に対する補正パラメータを追加しました。
ブラシサイズの動的変化に適用されていた下限を無くしました。
ブラシサイズが小さい場合に、生成ブラシのマスク描画時におけるオーバーサンプリング精度が高くなるように修正しました。
(2.6.6_090317-1)Windows用スターターキットを更新しました。
ツールオプションダイアログに"content-border"スタイルを追加しました。
Windows用スターターキットを更新しました。
(2.6.3_081110-1)Windows用スターターキットを更新しました。
(2.6.3_081110-2)Windows用スターターキットを更新しました。
(2.6.4_081110-1)Windows用スターターキットを更新しました。
(2.6.4_20081110-2)Windows用スターターキットを更新しました。
(2.6.5_081110-1)Windows用スターターキットを更新しました。
ACMオン時におけるブラシ強度の反映され具合が適切でなかったので修正しました。
Windows用バイナリを更新しました。
重ね塗りがオフになっているときの描画結果に不自然なところがあったので修正しました。
Flowパラメータを試験的に追加しました。Paintbrushとその派生ツール(AirBrush、Pencil、MixBrush)で使用できます。
暫定的に、環境設定ダイアログから"toolbox-wilber"と"transient-docks"の値を変更できるようにしました。
20081004版ではSmoothingの値を無視していましたが、これを反映させるように変更しました。
MixBrushに対する「ブラシ感度の調整」項目に強度を追加しました。
GIMP 2.6系に移行しました。
ツールプリセットを読み込む際に以下の設定を復元しないようにしました。
また、Ctrlキーを押しながらツールプリセットを選択した場合には、次の設定も復元されません。
従来通りに復元させるには、Shiftキーを押しながらツールプリセットを選択してください。
Windows用バイナリを更新しました。
テクスチャ位置のジッターを追加しました。
レイヤーがキャンバスの左または上にはみ出ている場合に、はみ出た部分へペイントするとテクスチャが乱れる不具合を修正しました。
(Windowsバイナリのみ)あいまい選択で領域選択後に自動的に領域を拡大するパッチを適用しました。これはgimp-painter-の一部ではありませんので、Windows以外の環境でこの拡張を希望される方は各自でリンク先よりパッチを入手し適用してください。
Alpha channel mixingが有効のとき、描点をdrawableに描画する処理をPixelProcessorに渡すようにしました。マルチプロセッサ環境では大きなブラシサイズで描くと処理が並列化されるため、多少速度が改善されます。※ACM無効時はGIMPのAPIによる描画となり、こちらは元々PixelProcessorを使用しているため、速度の改善はありません。
Aboutダイアログにgimp-painter-であることを示す文言を追加しました。
フリンジテクスチャ有効時、特定の設定値の組み合わせで描点が中抜けしてしまうのを修正しました。大した影響はないと思いますが、6月5日版と比べて若干効果の出方が異なります。
フリンジテクスチャのコントラスト調整を追加しました。
テクスチャ効果にフリンジオプションを追加しました。
Remove background colorオプションを削除しました(長らく処理が無効化されていたため)。
アプリケーションを起動する度に、前回終了時選択されていたテクスチャパターンを忘れてしまっていた場合、今回の修正で直っているかもしれません。
GIMP 2.4.6でパッチが適用できるよう修正しました。
Windows用バイナリを更新しました。
Smoothingの設定値を得るために現在のツールからツールオプションのオブジェクトを取得する際、ツールによってはNULLが返ってくることがあるようなので、その場合には設定値を0とみなすようにしました。5月4日版では常にツールオプションが取得できるものと期待していたため、NULLが返ってくるとクラッシュします。
Windows用バイナリを更新しました。
GimpDisplayShellの加速度計算コードを最新の状態に更新しました。
加速度計算処理とセットになっているXY座標の補間処理がG-Penツールでキャンセルされていなかったので、キャンセルされるように修正しました。また、G-Pen以外のペイント系ツールではSmoothingの値を0にすることで処理をバイパスすることができます。デフォルト値の0.98ではGIMP 2.5系と同様の結果になりますが、現状の処理では有意な効果が得られるように感じられませんので、0にしてしまって構わないと思われます。
Reduce update frequencyのオプションがブレンドツールや塗りつぶしツールにも表示されていたので、表示されないように修正しました。
Windows用バイナリを2.4.5に更新するとともに、以下の変更・更新を行いました。
G-Penツールで使われる加速度情報を、従来通りGimpInk2クラス内で計算するように変更しました。それに伴い、1月28日版の修正はキャンセルしました。
Reduce update frequencyの内部パラメータを変更できるようにしました。あくまで動作検証・デバッグをやりやすくするための措置ですので、むやみに変更しないようにしてください。
Windows用バイナリを2.4.4ベースにアップデートしました。また、baseアーカイブに同梱のNodoka、Aurora両Enginesを最新版に置き換え、Separate+プラグインを追加しました。
GimpDisplayShellの修正によって、G-Penツールのカーソル追従性が悪くなっていたため、回避策を施しました。
テクスチャのGrainに筆圧を掛け合わせる計算が間違っていたので修正しました。なんでこんな意味不明な計算をしていたのか自分でもよくわからない、というような内容でした;-p
テクスチャのGrainに対する筆圧感知に入出力パラメータを追加しました。元の設定値の範囲が-1.0~1.0なので分かりにくくなっていますが、一旦1.0を足してから筆圧の出力値を掛け合わせ、そこから1.0を引くと最終的な値となります。
レイヤーダイアログのアルファチャンネルロック(またはチャンネルダイアログでアルファ値の選択を解除する)がAlpha channel mixing有効時にも使えるようになりました。
1月19日版で、2.5系のソースからGimpDisplayShell関連の修正を適用する作業にミスがあったので修正しました。
テクスチャ効果を試しに入れてみました。多分こういうので良いと思うんですが。
GimpDisplaySellでポインターの加速度を計算し、それをGimpCoords構造体から取得できるようにする修正が2.5系のソースに入ったのを受けて、GimpPaintCoreの再描画頻度調整処理とG-Penツールで加速度情報を使用するようにしました。gimp-painter-パッチは2.4系ベースですので、加速度を計算する個所を2.5系のソースから移植しています。
1月3日版で追加した処理をGimpPaintCoreクラスに移しました。また、頻度調整のための計算方法を変更しました。
Alpha channel mixing有効時に再描画の頻度を減らす処理を追加しました。
Windowsバイナリを2.4.3に更新しました。
Alpha channel mixing有効時の処理速度を改善しました。従来は描点が収まる領域のバッファ上で描点を適用する処理を行ってから、GIMPのAPIを呼び出してdrawableに反映させる流れでしたが、12月22日版では直接drawableに対して描点を適用しています。
このため、現在のところ(1)選択範囲が無視される(2)RGBレイヤーへの描画時、選択されていないチャンネルにも描画されてしまう、という制限事項があります(処理速度への影響が軽微であれば、今後の版で修正します)。
12月7日版で描き始めにいきなり落ちる問題がありましたが、これが改善されたかもしれません。されていないかもしれません。
ツールのデフォルト値を変更し、とりあえず混色ブラシらしい動作をするようにしました。
Alpha channel mixingオン・Paint with pigmentオンのとき、Main colorとCanvas colorのdensityがともに下がっていくにつれて透明にする力が強くなるはずですが、実際には0になって急に効いてくるようになっていたので修正しました。
Alpha channel mixing関連の修正です。グレイスケールのdrawableで機能しない件、Main colorとCanvas colorのdensityが共に0のときアルファ付きレイヤーにペイントすると白い四角が描画される件、アルファ付きレイヤーへのペイント時、意図せず描き始めのアルファ値が下がってしまう件が改善されています。
混色処理の調整とAlpha channel mixing有効時の処理速度アップ(程度としては若干、ですが)を行いました。
11月7日版のところで書いていた、「レイヤーのアルファを描点のアルファ値に置き換えること」の件を試しに組み込んでみました。
実際にはそれだけでは済まずに色々と調整やらゴマカシもあるのですが……。
Windowsバイナリを2.4.2に更新しました。コンパイラの最適化オプションをPentium4向け(従来はPentium3向け))に変更しましたので、環境によっては動作しないかもしれません。
描点カラーを8ビット整数値に変換する際生じる誤差を次回の処理でCanvas colorに組み込むようにしました。混色処理を見直す前は同じようなことをやっていたのですが、見直し後しばらく放ってあったものです。
しかし、実際に描いているとやはり微妙な色変化のところでどんどん汚くなっていくのが気になったので、改めて実装しました。手抜き処理なので正しくはないのですが、見た目には好ましい結果が得られます。
ただ、描点をレイヤーに合成するGIMPの内部処理で発生する誤差も結構馬鹿にならないため、ブラシ不透明度を下げて、あるいはボケ足のあるブラシで描く場合には影響があるでしょう(これはMixBrushだけ弄っていても直りません)。
筆圧周りの処理を変更しました。筆圧に対応するパラメータの効きどころをより正確に指定できるようになっています。その分、設定が面倒になっているというデメリットもありますが……。
Assume that the hidden color is...の効果を再実装しました。
混色の処理を書き直しました。パラメータの項目もあれこれ変わっています。今回の変更により、透明レイヤーにペイントしても破綻することはなくなったと言えるでしょう。ただし、レイヤーのアルファチャンネルは基本的に不透明になっていく方向にしか干渉できないので、ベタの地に直接ペイントするのと異なる結果になるのは避けられません(不透明度の変化が不自然)。
レイヤーのアルファを描点のアルファ値に置き換えることができれば、違いがある程度埋められるのではないかと思うので、どうやって差し替えようかと現在考えているところです。
今回の版では次の機能が使えません。
また、次の機能が使えるようになっています。
重ね塗りのチェックを外した際に、ストロークの重なる部分や交差する部分のカラーが壊れる仕様を改善し、壊れないようにしました(まだ若干不具合が残っているかもしれませんが、おおむね「使える」状態にはなっていると思います)。
従来はこの仕様のため、「圧力感度」の「色」や「グラデーションの色を使う」を有効にすると重ね塗りモードが強制されるようになっていました(素のGIMPの仕様が元々そういう風になっています)。
Canvas colorの筆圧の適用方法を元に戻しました。ただし、正負を逆にしてありますので注意してください(10月25日版を基準にした場合、29日版の正負は同じとなります。多分……)。
デフォルト値は10月22日版以前と同じになるように、-0.8を設定してあります。
グレースケールの画像またはチャンネルにペイントする際、不透明度を正しく扱えていなかったので修正しました。
10月25日版では、Remove the background colorがグレースケールやインデックスカラーでも動作していましたが、RGBモードに特化した処理なので適切な結果は得られませんでした。10月29日版ではRGBモードのみで処理を行うように修正しました。他のモードでチェックが入っていても、処理はスキップされます。
10月21日版では、Canvas colorのRate(割合)が0になっているとDryoutが無視されてしまっていたので、これを修正しました。
必要のないAPI関数の呼び出しとメモリリークがあったので修正しました。
GIMP 2.4ではツールのクラスによって、基本的なオプション項目の表示内容をコントロールしているようです。そのため、以前の版では「圧力感度」の「大きさ」チェックボックスが表示されなくなっていました。10月21日版ではこの点が修正されています。
Bleedの動作が変更されたのに伴い、より強く混ぜられるように値の上限を0.3まで引き上げました。
ただし、Bleedの値を高くすると下地のカラーを取り込む力が強くなるので、伸びが悪くなり固まりはじめた絵の具のような感じになりますので注意してください。また、このときブラシの不透明度が高いと直前の描点の形が見えてしまい不自然に感じられるかもしれません。
実際のところ、従来の上限である0.2あたりまでにしておいた方が無難でしょう。