0

cocos2dの初心者です。

いろいろな色の線を描く線画アプリを作っています。私はそれを実装しました、そして私が直面している問題はカラーブレンディングです。ラインエッジでは、アンチエイリアシングを行うために、フェードアウトカラーが適用されます。その上に別の線を引くと、線はそれほど良く見えません。つまり、ブレンドのオーバーレイは、画像のように色が薄くなっていくように見えます エッジブレンディング

{GL_ONE, GL_ONE_MINUS_SRC_ALPHA}とをブレンド関数として使用し{GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA} てみましたが、他の関数も試しましたが、正しいブレンドを取得できませんでした。過去3日間はこれを解決できません。誰かが私がこれを整理するのを手伝ってくれる?

4

1 に答える 1

0

接触する2本の線が、共通の形状の周りに色あせたエッジを持つ単一のソリッドオブジェクトのように見えるようにすることが目標である場合、単純なブレンドモードでその効果を達成できるとは思いません。

これを行う1つの方法は、フラットな単色(エッジフェードなし)を使用してすべての線を外部フレームバッファーに描画し、そのフレームバッファーにブラーまたはエッジ検出シェーダーを適用して、結合された形状の周りにエッジを配置することです。 。

初心者の場合は難しいかもしれませんが、興味がある場合は調査を開始するためのいくつかの用語を提供する必要があります。

于 2012-06-12T07:53:18.770 に答える