したがって、次のない滑らかな線が必要です。
- ラインスムージング。
- 全画面アンチエイリアシング。
- シェーダー。
大丈夫。
あなたの最善の策は、Valve のAlpha-Tested Magnification 技術を使用することです。ニーズに合わせた基本的な考え方は、テクスチャの中心が 1.0 の距離である、線からの距離を表すテクスチャを作成することです。これはおそらく 1D テクスチャである可能性があります。
次に、ペーパーに記載されている手法 (アンチエイリアス バージョンを含む固定関数で動作する手法の多く) を使用して、線を表すクワッドを描画します。明らかに、アルファブレンディングが必要になります (したがって、順序に依存しません)。線幅を使用して適切な色になる距離を制御し、細い線または太い線を作成できます。
シェーダーでこれを行うことは、テクスチャがないことを除いて、実質的に上記と同じです。距離テクスチャにアクセスする代わりに、距離が渡され、頂点シェーダーから補間されます。クワッドの左端の場合、頂点シェーダーは 0 を渡します。右端の場合、1 を渡します。これに 2 を掛けて 1 を引き、絶対値を取ります。
それがラインからの距離です (ラインはクワッドの中心です)。次に、Valve のアルゴリズムとまったく同じように、その距離を使用します。