1991-2006
Silicon Graphics, Inc.
glMultiTexCoord
3G

# glMultiTexCoord

set the current texture coordinates

## C Specification

                    void glMultiTexCoord1s
                    GLenum target
                    GLshort s

                    void glMultiTexCoord1i
                    GLenum target
                    GLint s

                    void glMultiTexCoord1f
                    GLenum target
                    GLfloat s

                    void glMultiTexCoord1d
                    GLenum target
                    GLdouble s

                    void glMultiTexCoord2s
                    GLenum target
                    GLshort s
                    GLshort t

                    void glMultiTexCoord2i
                    GLenum target
                    GLint s
                    GLint t

                    void glMultiTexCoord2f
                    GLenum target
                    GLfloat s
                    GLfloat t

                    void glMultiTexCoord2d
                    GLenum target
                    GLdouble s
                    GLdouble t

                    void glMultiTexCoord3s
                    GLenum target
                    GLshort s
                    GLshort t
                    GLshort r

                    void glMultiTexCoord3i
                    GLenum target
                    GLint s
                    GLint t
                    GLint r

                    void glMultiTexCoord3f
                    GLenum target
                    GLfloat s
                    GLfloat t
                    GLfloat r

                    void glMultiTexCoord3d
                    GLenum target
                    GLdouble s
                    GLdouble t
                    GLdouble r

                    void glMultiTexCoord4s
                    GLenum target
                    GLshort s
                    GLshort t
                    GLshort r
                    GLshort q

                    void glMultiTexCoord4i
                    GLenum target
                    GLint s
                    GLint t
                    GLint r
                    GLint q

                    void glMultiTexCoord4f
                    GLenum target
                    GLfloat s
                    GLfloat t
                    GLfloat r
                    GLfloat q

                    void glMultiTexCoord4d
                    GLenum target
                    GLdouble s
                    GLdouble t
                    GLdouble r
                    GLdouble q

## Parameters

`target`

  Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of `GL_TEXTURE` i, where i ranges from 0 to `GL_MAX_TEXTURE_COORDS` - 1, which is an implementation-dependent value.

`s`
`t`
`r`
`q`

  Specify `s`, `t`, `r`, and `q` texture coordinates for `target` texture unit. Not all parameters are present in all forms of the command.

## C Specification

                    void glMultiTexCoord1sv
                    GLenum target
                    const GLshort * v

                    void glMultiTexCoord1iv
                    GLenum target
                    const GLint * v

                    void glMultiTexCoord1fv
                    GLenum target
                    const GLfloat * v

                    void glMultiTexCoord1dv
                    GLenum target
                    const GLdouble * v

                    void glMultiTexCoord2sv
                    GLenum target
                    const GLshort * v

                    void glMultiTexCoord2iv
                    GLenum target
                    const GLint * v

                    void glMultiTexCoord2fv
                    GLenum target
                    const GLfloat * v

                    void glMultiTexCoord2dv
                    GLenum target
                    const GLdouble * v

                    void glMultiTexCoord3sv
                    GLenum target
                    const GLshort * v

                    void glMultiTexCoord3iv
                    GLenum target
                    const GLint * v

                    void glMultiTexCoord3fv
                    GLenum target
                    const GLfloat * v

                    void glMultiTexCoord3dv
                    GLenum target
                    const GLdouble * v

                    void glMultiTexCoord4sv
                    GLenum target
                    const GLshort * v

                    void glMultiTexCoord4iv
                    GLenum target
                    const GLint * v

                    void glMultiTexCoord4fv
                    GLenum target
                    const GLfloat * v

                    void glMultiTexCoord4dv
                    GLenum target
                    const GLdouble * v

## Parameters

`target`

  Specifies the texture unit whose coordinates should be modified. The number of texture units is implementation dependent, but must be at least two. Symbolic constant must be one of `GL_TEXTURE` i, where i ranges from 0 to `GL_MAX_TEXTURE_COORDS` - 1, which is an implementation-dependent value.

`v`

  Specifies a pointer to an array of one, two, three, or four elements, which in turn specify the s, t, r, and q texture coordinates.

## Description

`glMultiTexCoord` specifies texture coordinates in one, two, three, or four dimensions. `glMultiTexCoord1` sets the current texture coordinates to s 0 0 1 ; a call to `glMultiTexCoord2` sets them to s t 0 1 . Similarly, `glMultiTexCoord3` specifies the texture coordinates as s t r 1 , and `glMultiTexCoord4` defines all four components explicitly as s t r q .

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

`glMultiTexCoord` is only supported if the GL version is 1.3 or greater, or if `ARB_multitexture` is included in the string returned by glGetString when called with the argument `GL_EXTENSIONS`.

The current texture coordinates can be updated at any time. In particular, `glMultiTexCoord` can be called between a call to glBegin and the corresponding call to glEnd.

It is always the case that `GL_TEXTURE` i = `GL_TEXTURE0` + i.

## Associated Gets

glGet with argument `GL_CURRENT_TEXTURE_COORDS` with appropriate texture unit selected.

glGet with argument `GL_MAX_TEXTURE_COORDS`

## See Also

glActiveTexture, glClientActiveTexture, glTexCoord, glTexCoordPointer, glVertex

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.