次の方法で共有


gluTessProperty 関数

gluTessProperty 関数は、テセレーション オブジェクトのプロパティを設定します。

構文

void WINAPI gluTessProperty(
   GLUtesselator *tess,
   GLenum        which,
   GLdouble      value
);

パラメーター

テス

テセレーション オブジェクト ( gluNewTess で作成)。

どっち

設定するプロパティ値。 有効な値は、GLU_TESS_WINDING_RULE、GLU_TESS_BOUNDARY_ONLY、GLU_TESS_TOLERANCEです。

説明
GLU_TESS_WINDING_RULE
ポリゴンのどの部分が内部にあるかを決定します。 value パラメーターは、GLU_TESS_WINDING_ODD、GLU_TESS_WINDING_NONZERO、GLU_TESS_WINDING_POSITIVE、GLU_TESS_WINDING_NEGATIVE、またはGLU_TESS_WINDING_ABS_GEQ_TWOのいずれかに設定できます。
巻き上げルールのしくみを理解するには、まず、入力コンターによって平面が領域にパーティション分割されることを考慮してください。 これらの領域のうち、ポリゴン内にある領域は、巻き取り規則によって決まります。
単一輪郭 C の場合、点 x の巻き取り数は、C の周りを 1 回移動するとき (反時計回りが正の場合) x の周りに行う回転の符号付き数です。 複数の輪郭がある場合、個々の巻数が合計されます。 このプロシージャは、符号付き整数値を平面内の各ポイント x に関連付けます。 巻き取り番号は、1 つのリージョン内のすべてのポイントで同じであることに注意してください。
巻き取り規則は、選択したカテゴリ (奇数、0 以外、正、負、または絶対値が 2 つ以上) に巻き取り番号が属している場合、領域を "内側" として分類します。 前の GLU テセレータ (GLU 1.2 より前) では、"奇数" ルールが使用されました。 "0 以外" ルール (GLU_TESS_WINDING_NONZERO) は、内部を定義するもう 1 つの一般的な方法です。 他の 3 つのルール (GLU_TESS_WINDING_POSITIVE、GLU_TESS_WINDING_NEGATIVE、GLU_TESS_WINDING_ABS_GEQ_TWO) は、多角形 CSG 操作に役立ちます。
GLU_TESS_BOUNDARY_ONLY
ブール値 (値を GL_TRUE または GL_FALSE に設定) を指定します。 値をGL_TRUEに設定すると、テセレーションではなく、ポリゴンの内部と外部を分離する閉じた輪郭のセットが返されます。 外部輪郭線は、法線に対して反時計回りに向きます。内部の輪郭は時計回りに向いています。 GLU_TESS_BEGINコールバックとGLU_TESS_BEGIN_DATAコールバックでは、各コンターに対して型GL_LINE_LOOPが使用されます。
GLU_TESS_TOLERANCE
出力のサイズを小さくするためにフィーチャをマージするための許容差を指定します。 たとえば、互いに非常に近い 2 つの頂点を 1 つの頂点に置き換えることができます。 許容値には、入力頂点の最大座標の大きさが乗算されます。これは、1 つのマージ操作の結果として、任意のフィーチャが移動できる最大距離を指定します。 1 つのフィーチャが複数のマージ操作に参加する場合、移動距離の合計が大きくなる可能性があります。
機能のマージは完全に省略可能です。許容範囲はヒントに過ぎません。 実装では、場合によってはマージが自由であり、他の実装ではマージされません。また、機能をまったくマージしない場合もあります。 既定の許容値は 0 です。
現在の実装では、現在の許容値に関係なく、頂点が完全に一致している場合にのみ頂点がマージされます。 頂点がエッジにスプライシングされるのは、実装で頂点が配置されているエッジの辺を区別できない場合のみです。 2 つのエッジは、両方のエンドポイントが同一の場合にのみマージされます。

value

指定されたプロパティの値。

戻り値

この関数は値を返しません。

注釈

gluTessProperty 関数は、テセレーション オブジェクトに格納されているプロパティを制御します。 これらのプロパティは、ポリゴンの解釈とレンダリング方法に影響します。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Glu.h
ライブラリ
Glu32.lib
[DLL]
Glu32.dll

関連項目

gluGetTessProperty

gluNewTess