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