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
GL_INVALID_ENUM
Menunjukkan bahwa mode bukan nilai yang diterima.
GL_INVALID_OPERATION
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
Gl.h
Pustaka
Opengl32.lib
DLL
Opengl32.dll