クリッピング (OpenGL)
クリッピングは、次の 2 つの手順で発生します。
- ボリュームのクリッピングを表示するApplication 固有のクリッピング。 プリミティブが組み立てられた直後に、glClipPlaneで定義したクリッピングプレーンに必要に応じて、目の座標クリップされます。 (OpenGL では、このようなアプリケーション固有のクリッピング プレーンが少なくとも 6 つサポートされている必要があります)。
- プリミティブはプロジェクション マトリックスによってクリップ座標に変換され、対応するビュー ボリュームによってクリップされます。 この行列は行列変換関数 (行列変換を参照) によって制御できますが、通常は glFrustumまたは glOrthoで指定されます。
ポイント、ライン セグメント、およびポリゴンは、クリッピング中に処理が異なります。
- ポイントは元の状態で保持されるか (クリップ ボリューム内にある場合)、または破棄されます (クリップ ボリュームの外側にある場合)。
- 線分またはポリゴンの一部がクリップ ボリュームの外側にある場合は、クリップ ポイントに新しい頂点が生成されます。
- ポリゴンの場合、クリップ ポイントで生成された新しい頂点の間にエッジ全体を構築する必要がある場合があります。
- クリップされたライン セグメントとポリゴンの場合、エッジ フラグ、色、テクスチャ情報がすべての新しい頂点に割り当てられます。