Share via


glEvalMesh2 関数

点または線の 2 次元グリッドを計算します。

構文

void WINAPI glEvalMesh2(
   GLenum mode,
   GLint  i1,
   GLint  i2,
   GLint  j1,
   GLint  j2
);

パラメーター

mode

ポイント、ライン、またはポリゴンの 2 次元メッシュを計算するかどうかを指定する値。 次のシンボリック定数を使用できます:GL_POINT、GL_LINE、およびGL_FILL。

i1

グリッド ドメイン変数 i の最初の整数値。

i2

グリッド ドメイン変数 i の最後の整数値。

j1

グリッド ドメイン変数 j の最初の整数値。

j2

グリッド ドメイン変数 j の最後の整数値。

戻り値

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

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
mode が受け入れ可能な値ではないことを示します。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。

解説

glMapGridglEvalMesh を並行して使用して、一連の等間隔マップ ドメイン値を効率的に生成および評価します。 glEvalMesh 関数は、1 次元または 2 次元グリッドの整数ドメインをステップ実行します。この範囲は、glMap1 と glMap2 で指定された評価マップのドメインです。 mode パラメーターは、結果の頂点をポイント、ライン、塗りつぶされたポリゴンとして接続するかどうかを決定します。

2 次元の場合、 glEvalMesh2 は let

? u = (u2 u1)/n

? v = (v2 v1)/m,

ここで、n、u1、u2、m、v1、および v2 は、最新の glMapGrid2 関数の引数です。 次に、 mode がGL_FILL場合、 glEvalMesh2 は次と同じです。

for (j = j1; j < j2; j += 1)

{

glBegin(GL_QUAD_STRIP);

for (i = i1; i <= i2; i += 1)

{

glEvalCoord2(i? u + u1 ( ) , j ? v + v1);

glEvalCoord2(i? u + u1 ( ) , (j+1) ? v + v1);

}

glEnd( );}

mode がGL_LINE場合、glEvalMesh2 の呼び出しは次のようになります。

for (j = j1; j <= j2; j += 1)

{

glBegin(GL_LINE_STRIP);

for (i = i1; i <= i2; i += 1)

{

glEvalCoord2(i? u + u1, j? v + v1);

}

glEnd( );

}

for (i = i1; i <= i2; i += 1)

{

glBegin(GL_LINE_STRIP);

for (j = j1; j <= j1; j += 1)

{

glEvalCoord2(i? u + u1, j? v + v1);

}

glEnd( );

}

最後に、 mode がGL_POINT場合、 glEvalMesh2 の呼び出しは次のようになります。

glBegin(GL_POINTS);

for (j = j1; j <= j2; j += 1)

{

for (i = i1; i <= i2; i += 1)

{

glEvalCoord2(i? u + u1, j? v + v1);

}

}

glEnd( );

3つのケースすべてにおいて、唯一の絶対数値要件は、i = nの場合、iから計算された値ですか?u + u1は正確にu2であり、j = mの場合、jから計算された値?v + v1 は正確に v2 です。 次の関数は 、glEvalMesh に関連する情報を取得します。

引数GL_MAP1_GRID_DOMAINを含む glGet

引数GL_MAP2_GRID_DOMAINを含む glGet

glGet と引数 GL_MAP1_GRID_SEGMENTS

glGet と引数 GL_MAP2_GRID_SEGMENTS

必要条件

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