GLEVALCOORD(3G)
π GLEVALCOORD π (that's the 3G one, bestie)
ok so. sit down. hydrate. we're talking about glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, and glEvalCoord2fv β the whole lil squad whose entire job is evaluating enabled one- and two-dimensional maps. no cap. that's the vibe. β¨
πΈ NAME πΈ
glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv, glEvalCoord2dv, glEvalCoord2fv β evaluate enabled one- and two-dimensional maps π
π C SPECIFICATION π
void glEvalCoord1d( GLdouble u )
void glEvalCoord1f( GLfloat u )
void glEvalCoord2d( GLdouble u,
GLdouble v )
void glEvalCoord2f( GLfloat u,
GLfloat v )
β¨ PARAMETERS β¨
uβ a value that is the domain coordinate u to the basis function you defined earlier in aglMap1orglMap2command. yes queen, it's literally the input π«Άvβ a value that is the domain coordinate v to the basis function defined in a previousglMap2command. heads up bestie: this argument is not present in aglEvalCoord1command. she simply doesn't show up π
π¦ C SPECIFICATION (the pointer girlies) π¦
void glEvalCoord1dv( const GLdouble *u )
void glEvalCoord1fv( const GLfloat *u )
void glEvalCoord2dv( const GLdouble *u )
void glEvalCoord2fv( const GLfloat *u )
π PARAMETERS π
uβ a pointer to an array containing either one or two domain coordinates. the first coordinate is u. the second coordinate is v, and she only exists in theglEvalCoord2versions. periodt.
π DESCRIPTION π
glEvalCoord1 evaluates enabled one-dimensional maps at argument u. glEvalCoord2 does the exact same thing but for two-dimensional maps, using two domain values, u and v. to define a map, call glMap1 and glMap2. to enable and disable it, call glEnable and glDisable. that's the whole friendship group. π
when one of the glEvalCoord commands is issued, all currently enabled maps of the indicated dimension are evaluated. then, for each enabled map, it is as if the corresponding GL command had been issued with the computed value. like, translation:
- if
GL_MAP1_INDEXorGL_MAP2_INDEXis enabled, aglIndexcommand is simulated. - if
GL_MAP1_COLOR_4orGL_MAP2_COLOR_4is enabled, aglColorcommand is simulated. - if
GL_MAP1_NORMALorGL_MAP2_NORMALis enabled, a normal vector is produced. - and if any of
GL_MAP1_TEXTURE_COORD_1,GL_MAP1_TEXTURE_COORD_2,GL_MAP1_TEXTURE_COORD_3,GL_MAP1_TEXTURE_COORD_4,GL_MAP2_TEXTURE_COORD_1,GL_MAP2_TEXTURE_COORD_2,GL_MAP2_TEXTURE_COORD_3, orGL_MAP2_TEXTURE_COORD_4is enabled, then an appropriateglTexCoordcommand is simulated. the whole alphabet of texture coords, we love her π
for color, color index, normal, and texture coordinates, the GL uses evaluated values instead of current values for those evaluations that are enabled, and current values otherwise. However (capital H, she's serious), the evaluated values do not update the current values. so if glVertex commands are interspersed with glEvalCoord commands, the color, normal, and texture coordinates associated with the glVertex commands are not affected by the values generated by the glEvalCoord commands β only by the most recent glColor, glIndex, glNormal, and glTexCoord commands. it's giving "separate friend groups, no crossover." π
no commands are issued for maps that are not enabled. and listen: if more than one texture evaluation is enabled for a particular dimension (for example, GL_MAP2_TEXTURE_COORD_1 and GL_MAP2_TEXTURE_COORD_2), then only the evaluation of the map that produces the larger number of coordinates (in this case, GL_MAP2_TEXTURE_COORD_2) is carried out. main character energy, only one gets the spotlight. π
GL_MAP1_VERTEX_4 overrides GL_MAP1_VERTEX_3, and GL_MAP2_VERTEX_4 overrides GL_MAP2_VERTEX_3, in the same manner. and if neither a three- nor a four-component vertex map is enabled for the specified dimension, the glEvalCoord command is ignored. she said nothing, she's not doing it, moving on π
if you have enabled automatic normal generation by calling glEnable with argument GL_AUTO_NORMAL, then glEvalCoord2 generates surface normals analytically, regardless of the contents or enabling of the GL_MAP2_NORMAL map. let
m=__Γ__
then the generated normal n is
n=_____
if automatic normal generation is disabled, the corresponding normal map GL_MAP2_NORMAL, if enabled, is used to produce a normal. if neither automatic normal generation nor a normal map is enabled, no normal is generated for glEvalCoord2 commands. no normal, no drama. π
π ASSOCIATED GETS π
the lil "how do I check on her" list, and yes every single one is here:
glIsEnabledwith argumentGL_MAP1_VERTEX_3glIsEnabledwith argumentGL_MAP1_VERTEX_4glIsEnabledwith argumentGL_MAP1_INDEXglIsEnabledwith argumentGL_MAP1_COLOR_4glIsEnabledwith argumentGL_MAP1_NORMALglIsEnabledwith argumentGL_MAP1_TEXTURE_COORD_1glIsEnabledwith argumentGL_MAP1_TEXTURE_COORD_2glIsEnabledwith argumentGL_MAP1_TEXTURE_COORD_3glIsEnabledwith argumentGL_MAP1_TEXTURE_COORD_4glIsEnabledwith argumentGL_MAP2_VERTEX_3glIsEnabledwith argumentGL_MAP2_VERTEX_4glIsEnabledwith argumentGL_MAP2_INDEXglIsEnabledwith argumentGL_MAP2_COLOR_4glIsEnabledwith argumentGL_MAP2_NORMALglIsEnabledwith argumentGL_MAP2_TEXTURE_COORD_1glIsEnabledwith argumentGL_MAP2_TEXTURE_COORD_2glIsEnabledwith argumentGL_MAP2_TEXTURE_COORD_3glIsEnabledwith argumentGL_MAP2_TEXTURE_COORD_4glIsEnabledwith argumentGL_AUTO_NORMALglGetMap
π§ SEE ALSO π§
the extended universe, iykyk:
glBegin(3G), glColor(3G), glEnable(3G), glEvalMesh(3G), glEvalPoint(3G), glIndex(3G), glMap1(3G), glMap2(3G), glMapGrid(3G), glNormal(3G), glTexCoord(3G), glVertex(3G)
ok that's the whole page bestie, go evaluate some maps, you're gonna slay so hard π₯π«Ά
this page came to you from GLEVALCOORD(3G) β that's the source and version tag, mwah, and she's dated like a fine little manual. bye pookie ππβ¨
π¦ where this page comes from
- opensuse-leap 16.0: Mesa-libGL-devel 24.1.7-160000.3.1 Β· MIT
- opensuse-leap 16.0: Mesa-libGL-devel 24.3.3-160000.3.1 Β· MIT
- opensuse-leap 16.0: Mesa-libGL-devel 24.3.3-160000.3.1 Β· MIT
- opensuse-leap 16.0: Mesa-libGL-devel 24.3.3-160000.3.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms