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函式可以擷取下列錯誤碼。
名稱 | 意義 |
---|---|
|
表示 模式 不是接受的值。 |
|
在 對 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫函式。 |
備註
使用 glMapGrid 和 glEvalMesh ,以有效率地產生及評估一系列平均間距的地圖定義域值。 glEvalMesh函式會逐步執行一維或二維格線的整數定義域,其範圍是glMap1和glMap2所指定的評估對應域。 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 [僅限傳統型應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|