GLSL ES 2.0 を使用して三角形ファン プリミティブの内部グロー効果を作成しようとしていますが、外側のエッジのみが手元にある効果の影響を受けます。これを行うには多くの方法があると思いますが、これまでのところ説明が見つかりませんでした。
Make the edge of a textured polygon grow in OpenGL ES 2.0で説明されている手法がありますが、この段階では純粋にプリミティブを使用しているため、これは機能しません。
私の最初の考えは、フラグメントシェーダーで最も近いエッジまでの距離を何らかの方法で計算し、距離がしきい値の範囲内にあるかどうかに応じて色を設定することでした。(もちろん、色とアルファは、最も近いエッジからの距離の関数になります。この時点では、正確なグラデーション プロファイルは重要ではありません。)
このアプローチには、次の 2 つの問題があります。
1) フラグメントから最も近いエッジまでの距離を計算するにはどうすればよいですか? 2) このプロセスで共通のエッジ、つまり 2 つ (またはそれ以上) の三角形に共通するエッジを除外するにはどうすればよいですか?
これは賢明なアプローチですか?もしそうなら、どうすれば2つの問題を解決できますか? 代替アプローチの提案も大歓迎です。(たとえば、テクスチャ データは画像である必要はなく、カスタム目的で利用できることを読んでいます。画像以外のテクスチャがソリューションの一部になる可能性はありますか?) :)