1

ポリラインのネットワークがあり、特定の XY ボックス内にあるラインのすべての部分を表示したいと考えています。現在、GL_LINE_STRIP を使用して OpenGL で線をレンダリングしていますが、うまく機能します。ただし、XY ボックスの境界が線の 1 つ (頂点間) を横切る場合、ボックスの内側にある線の一部だけを表示する良い方法はありますか?

ありがとう、

ジェフ

4

2 に答える 2

4

ボックスが通常の 2 次元の軸に沿った長方形である場合は、glScissor 関数を使用できます。簡単に言えば、すべての描画が行われる画面座標で 2D の四角形を定義します。

より複雑な場合 (たとえば、3D シーン内の平面に四角形がある場合など) は、最初に四角形をステンシル バッファーに描画し、ライン レンダリングの stencil-test を有効にすることができます。このアプローチでは、描画を制限する形状について無限の柔軟性が得られますが、レンダリング中は少し遅くなる可能性があり、セットアップにはより多くの労力が必要です.

于 2009-10-21T13:19:25.453 に答える