共用方式為


glEvalMesh2 函式

計算點或線條的二維格線。

語法

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

參數

mode

值,指定是否計算點、線條或多邊形的二維網格。 接受下列符號常數:GL_POINT、GL_LINE和GL_FILL。

i1

網格域變數 i 的第一個整數值。

i2

格線定義域變數 i 的最後一個整數值。

j1

格線定義域變數 j 的第一個整數值。

j2

格線定義域變數 j 的最後一個整數值。

傳回值

此函式不會傳回值。

錯誤碼

glGetError函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_ENUM
表示 模式 不是接受的值。
GL_INVALID_OPERATION
對 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫函式。

備註

使用 glMapGridglEvalMesh ,以有效率地產生及評估一系列平均間距的地圖定義域值。 glEvalMesh函式會逐步執行一維或二維格線的整數定義域,其範圍是glMap1glMap2所指定的評估對應域。 mode 參數會決定產生的頂點是否以點、線條或填滿多邊形方式連接。

在二維案例 中,glEvalMesh2,let

? u = (u2 u1) /n

? v = (v2 v1) /m,

其中 n、u1、u2、m、v1 和 v2 是最新 glMapGrid2 函式的引數。 然後,如果 模式 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 ( ) ;}

如果 模式 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 ( ) ;

}

最後,如果 模式 是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 ( ) ;

在這三種情況下,唯一的絕對數值需求是如果 i = n,則從 i 計算的值?u + u1 完全是 u2,如果 j = m,則從 j 計算的值?v + v1 完全是 v2。 下列函式會擷取 與 glEvalMesh相關的資訊:

glGet with argument GL_MAP1_GRID_DOMAIN

glGet 與引數GL_MAP2_GRID_DOMAIN

glGet with argument GL_MAP1_GRID_SEGMENTS

glGet with argument GL_MAP2_GRID_SEGMENTS

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll