2017-05-02 7 views
1

ステップ1:glVertex()を使用して、3D空間内にシェイプを描画します(矩形など)。OpenGL:3D空間内の平面内の領域内に描画を続ける

手順2:次に、この矩形内に物を描画します。たとえば、glutStrokeCharacter()やglVertex()を使用します。

ステップ1で描画した矩形の内側に、ステップ2で描いたものを境界の外に出てくるものを切り取る必要があります。誰かがこれを行う方法についていくつかのヒントを与えることができますか?

答えて

3
  1. stencil bufferに境界ジオメトリをレンダリングします。
  2. ステンシルテストを有効にします。
  3. カラーバッファに標準ジオメトリをレンダリングします。ステンシルテストは、境界ジオメトリの外側のフラグメントがカラーバッファに書き込まれないようにします。
+0

私はいくつかの例を教えてもらえますか? –

+0

@TomBennett:編集済みです。 – genpfault

+0

自分の状況でステンシルバッファを設定する方法がわかりません。私はglBegin(GL_LINES)で描画された長方形のワイヤフレーム上で動作しています。複数のglVertex()呼び出しがあります。私はこのワイヤフレームの内部にのみテキストを書いて、すべてのものを外側にクリッピングしたいと思っています。ステンシルバッファはピクセルレベルで動作しているように見えます。しかし、私の場合、ラインだけでは、ステンシルバッファを適切に設定できるかどうかはわかりません。ヒントがあれば教えてください。 –

関連する問題