GLMULTITEXCOORDARB(3G)
π GLMULTITEXCOORDARB β it's giving "texture coords, but for EVERY unit" π
okay bestie, listen. this page lives in the 3G manual section, and it's about the whole glMultiTexCoordARB family β thirty-two functions that all do the same iconic thing: they set the current texture coordinates for whichever texture unit you point at. not me being obsessed with multitexturing π
β¨ NAME β¨
glMultiTexCoord1dARB, glMultiTexCoord1fARB, glMultiTexCoord1iARB, glMultiTexCoord1sARB, glMultiTexCoord2dARB, glMultiTexCoord2fARB, glMultiTexCoord2iARB, glMultiTexCoord2sARB, glMultiTexCoord3dARB, glMultiTexCoord3fARB, glMultiTexCoord3iARB, glMultiTexCoord3sARB, glMultiTexCoord4dARB, glMultiTexCoord4fARB, glMultiTexCoord4iARB, glMultiTexCoord4sARB, glMultiTexCoord1dvARB, glMultiTexCoord1fvARB, glMultiTexCoord1ivARB, glMultiTexCoord1svARB, glMultiTexCoord2dvARB, glMultiTexCoord2fvARB, glMultiTexCoord2ivARB, glMultiTexCoord2svARB, glMultiTexCoord3dvARB, glMultiTexCoord3fvARB, glMultiTexCoord3ivARB, glMultiTexCoord3svARB, glMultiTexCoord4dvARB, glMultiTexCoord4fvARB, glMultiTexCoord4ivARB, glMultiTexCoord4svARB β set the current texture coordinates π
like. all thirty-two of them. one job. slay.
β¨ C SPECIFICATION β¨ (the one where you pass numbers)
void glMultiTexCoord1dARB( GLenum target,
GLdouble s )
void glMultiTexCoord1fARB( GLenum target,
GLfloat s )
void glMultiTexCoord1iARB( GLenum target,
GLint s )
void glMultiTexCoord1sARB( GLenum target,
GLshort s )
void glMultiTexCoord2dARB( GLenum target,
GLdouble s,
GLdouble t )
void glMultiTexCoord2fARB( GLenum target,
GLfloat s,
GLfloat t )
void glMultiTexCoord2iARB( GLenum target,
GLint s,
GLint t )
void glMultiTexCoord2sARB( GLenum target,
GLshort s,
GLshort t )
void glMultiTexCoord3dARB( GLenum target,
GLdouble s,
GLdouble t,
GLdouble r )
void glMultiTexCoord3fARB( GLenum target,
GLfloat s,
GLfloat t,
GLfloat r )
void glMultiTexCoord3iARB( GLenum target,
GLint s,
GLint t,
GLint r )
void glMultiTexCoord3sARB( GLenum target,
GLshort s,
GLshort t,
GLshort r )
void glMultiTexCoord4dARB( GLenum target,
GLdouble s,
GLdouble t,
GLdouble r,
GLdouble q )
void glMultiTexCoord4fARB( GLenum target,
GLfloat s,
GLfloat t,
GLfloat r,
GLfloat q )
void glMultiTexCoord4iARB( GLenum target,
GLint s,
GLint t,
GLint r,
GLint q )
void glMultiTexCoord4sARB( GLenum target,
GLshort s,
GLshort t,
GLshort r,
GLshort q )
β¨ PARAMETERS β¨ (round one π«Ά)
targetβ which texture unit's coords you're out here modifying. the number of texture units is implementation dependent, but bestie, it must be at least two, no cap. has to be one ofGL_TEXTUREi_ARBwhere0 β€ i < GL_MAX_TEXTURE_UNITS_ARB, and that max is an implementation-dependent value. iykyk.s,t,r,qβ the s, t, r, and q texture coordinates for thetargettexture unit. not all of these show up in every form of the command β like,glMultiTexCoord1dARBis NOT about to take four args, be so serious.
β¨ C SPECIFICATION β¨ (the vector one, where you pass a pointer)
void glMultiTexCoord1dvARB( GLenum target,
const GLdouble *v )
void glMultiTexCoord1fvARB( GLenum target,
const GLfloat *v )
void glMultiTexCoord1ivARB( GLenum target,
const GLint *v )
void glMultiTexCoord1svARB( GLenum target,
const GLshort *v )
void glMultiTexCoord2dvARB( GLenum target,
const GLdouble *v )
void glMultiTexCoord2fvARB( GLenum target,
const GLfloat *v )
void glMultiTexCoord2ivARB( GLenum target,
const GLint *v )
void glMultiTexCoord2svARB( GLenum target,
const GLshort *v )
void glMultiTexCoord3dvARB( GLenum target,
const GLdouble *v )
void glMultiTexCoord3fvARB( GLenum target,
const GLfloat *v )
void glMultiTexCoord3ivARB( GLenum target,
const GLint *v )
void glMultiTexCoord3svARB( GLenum target,
const GLshort *v )
void glMultiTexCoord4dvARB( GLenum target,
const GLdouble *v )
void glMultiTexCoord4fvARB( GLenum target,
const GLfloat *v )
void glMultiTexCoord4ivARB( GLenum target,
const GLint *v )
void glMultiTexCoord4svARB( GLenum target,
const GLshort *v )
β¨ PARAMETERS β¨ (round two, electric boogaloo π¦)
targetβ same deal as before: the texture unit whose coordinates should be modified. the number of texture units is implementation dependent but must be at least two, and it must be one ofGL_TEXTUREi_ARB, where0 β€ i <the implementation-dependent value ofGL_MAX_TEXTURE_UNITS_ARB.vβ a pointer to an array of one, two, three, or four elements, which in turn specify the s, t, r, and q texture coordinates. so basically the same coords, just chillin' in an array instead. π
β¨ DESCRIPTION β¨
glMultiTexCoordARB specifies texture coordinates in one, two, three, or four dimensions. periodt.
glMultiTexCoord1ARBsets the current texture coordinates to(s, 0, 0, 1)β¨glMultiTexCoord2ARBsets them to(s, t, 0, 1)πglMultiTexCoord3ARBspecifies the texture coordinates as(s, t, r, 1)πΈglMultiTexCoord4ARBdefines all four components explicitly as(s, t, r, q)π
like, the way that the missing components just get filled in with 0, 0, 1? main character energy honestly.
the current texture coordinates are part of the data that is associated with each vertex and with the current raster position. initially, the values for s, t, r, q are (0, 0, 0, 1).
β¨ NOTES β¨ (read this part fr fr)
glMultiTexCoordARB is only supported if GL_ARB_multitexture is included in the string returned by glGetString when called with the argument GL_EXTENSIONS. so check first, bestie, don't just yolo it. π
the current texture coordinates can be updated at any time. in particular, glMultiTexCoordARB can be called between a call to glBegin and the corresponding call to glEnd. yes, inside the begin/end block. iconic behavior, no notes.
it is always the case that GL_TEXTUREi_ARB = GL_TEXTURE0_ARB + i. always. no exceptions. the math is mathing. π§
β¨ ASSOCIATED GETS β¨
glGet with argument GL_CURRENT_TEXTURE_COORDS with the appropriate texture unit selected.
β¨ SEE ALSO β¨
glActiveTextureARB(3G), glClientActiveTextureARB(3G), glTexCoord(3G), glTexCoordPointer(3G), glVertex(3G)
ok that's the whole page, nothing skipped, every single one of those thirty-two functions accounted for π«Ά go forth and multitexture responsibly.
that's a wrap on the 3G manual page for GLMULTITEXCOORDARB β same title up top, same title at the bottom, dated and versioned as ever in that footer. mwah. πβ¨ππ¦πΈπ
ππβπ
π¦ where this page comes from
- centos-stream 9: gl-manpages 1.1-24.20190306.el9 Β· MIT and Open Publication
- fedora 43: gl-manpages 1.1-34.20190306.fc43 Β· Apache-2.0 AND HPND AND HPND-sell-variant AND MIT AND OpenPBS-2.3 AND SGI-B-2.0 AND W3C-19980720 AND X11
- fedora 44: gl-manpages 1.1-35.20190306.fc44 Β· Apache-2.0 AND HPND AND HPND-sell-variant AND MIT AND OpenPBS-2.3 AND SGI-B-2.0 AND W3C-19980720 AND X11
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms