glEvalMesh2 (Fungsi glEvalMesh2)
Menghitung kisi titik atau garis dua dimensi.
Sintaks
void WINAPI glEvalMesh2(
GLenum mode,
GLint i1,
GLint i2,
GLint j1,
GLint j2
);
Parameter
-
mode
-
Nilai yang menentukan apakah akan menghitung jala titik, garis, atau poligon dua dimensi. Konstanta simbolis berikut diterima: GL_POINT, GL_LINE, dan GL_FILL.
-
i1
-
Nilai bilangan bulat pertama untuk variabel domain kisi i.
-
i2
-
Nilai bilangan bulat terakhir untuk variabel domain kisi i.
-
j1
-
Nilai bilangan bulat pertama untuk variabel domain kisi j.
-
J2
-
Nilai bilangan bulat terakhir untuk variabel domain kisi j.
Menampilkan nilai
Fungsi ini tidak mengembalikan nilai.
Kode kesalahan
Kode kesalahan berikut dapat diambil oleh fungsi glGetError .
Nama | Makna |
---|---|
|
Menunjukkan bahwa mode bukan nilai yang diterima. |
|
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd. |
Keterangan
Gunakan glMapGrid dan glEvalMesh bersamaan untuk menghasilkan dan mengevaluasi serangkaian nilai domain peta yang berspasi merata secara efisien. Fungsi glEvalMesh melangkah melalui domain bilangan bulat kisi satu atau dua dimensi, yang rentangnya adalah domain peta evaluasi yang ditentukan oleh glMap1 dan glMap2. Parameter mode menentukan apakah simpul yang dihasilkan terhubung sebagai titik, garis, atau poligon yang diisi.
Dalam kasus dua dimensi, glEvalMesh2, biarkan
? u = (u2 u1)/n
? v = (v2 v1)/m,
di mana n, u1, u2, m, v1, dan v2 adalah argumen ke fungsi glMapGrid2 terbaru. Kemudian, jika mode GL_FILL, glEvalMesh2 setara dengan:
untuk (j = j1; j < j2; j += 1)
{
glBegin(GL_QUAD_STRIP);
untuk (i = i1; i <= i2; i += 1)
{
glEvalCoord2(i? u + u1 ( ) , j ? v + v1);
glEvalCoord2(i? u + u1 ( ) , (j+1) ? v + v1);
}
glEnd( ); }
Jika mode GL_LINE, maka panggilan ke glEvalMesh2 setara dengan:
untuk (j = j1; j <= j2; j += 1)
{
glBegin(GL_LINE_STRIP);
untuk (i = i1; i <= i2; i += 1)
{
glEvalCoord2(i? u + u1, j? v + v1);
}
glEnd( );
}
untuk (i = i1; i <= i2; i += 1)
{
glBegin(GL_LINE_STRIP);
untuk (j = j1; j <= j1; j += 1)
{
glEvalCoord2(i? u + u1, j? v + v1);
}
glEnd( );
}
Dan akhirnya, jika mode GL_POINT, maka panggilan ke glEvalMesh2 setara dengan:
glBegin(GL_POINTS);
untuk (j = j1; j <= j2; j += 1)
{
untuk (i = i1; i <= i2; i += 1)
{
glEvalCoord2(i? u + u1, j? v + v1);
}
}
glEnd( );
Dalam ketiga kasus, satu-satunya persyaratan numerik absolut adalah bahwa jika i = n, maka nilai yang dihitung dari i? u + u1 tepatnya u2, dan jika j = m, maka nilai yang dihitung dari j? v + v1 persis v2. Fungsi berikut mengambil informasi yang berkaitan dengan glEvalMesh:
glGet dengan argumen GL_MAP1_GRID_DOMAIN
glGet dengan argumen GL_MAP2_GRID_DOMAIN
glGet dengan argumen GL_MAP1_GRID_SEGMENTS
glGet dengan argumen GL_MAP2_GRID_SEGMENTS
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Pustaka |
|
DLL |
|