---
name: "glTexCoord"
section: "3x"
platform: "linux"
package: "xlibmesa-gl-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/glTexCoord"
---

# glTexCoord(3x)

set the current texture coordinates

## NAME

**glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d, glTexCoord2f, glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f, glTexCoord3i, glTexCoord3s, glTexCoord4d, glTexCoord4f, glTexCoord4i, glTexCoord4s, glTexCoord1dv, glTexCoord1fv, glTexCoord1iv, glTexCoord1sv, glTexCoord2dv, glTexCoord2fv, glTexCoord2iv, glTexCoord2sv, glTexCoord3dv, glTexCoord3fv, glTexCoord3iv, glTexCoord3sv, glTexCoord4dv, glTexCoord4fv, glTexCoord4iv, glTexCoord4sv** - set the current texture coordinates

## C SPECIFICATION

void **glTexCoord1d**( GLdouble *s* )

```

```

void **glTexCoord1f**( GLfloat *s* )

```

```

void **glTexCoord1i**( GLint *s* )

```

```

void **glTexCoord1s**( GLshort *s* )

```

```

void **glTexCoord2d**( GLdouble *s*,

```
	GLdouble t )
```

void **glTexCoord2f**( GLfloat *s*,

```
	GLfloat t )
```

void **glTexCoord2i**( GLint *s*,

```
	GLint t )
```

void **glTexCoord2s**( GLshort *s*,

```
	GLshort t )
```

void **glTexCoord3d**( GLdouble *s*,

```
	GLdouble t,
	GLdouble r )
```

void **glTexCoord3f**( GLfloat *s*,

```
	GLfloat t,
	GLfloat r )
```

void **glTexCoord3i**( GLint *s*,

```
	GLint t,
	GLint r )
```

void **glTexCoord3s**( GLshort *s*,

```
	GLshort t,
	GLshort r )
```

void **glTexCoord4d**( GLdouble *s*,

```
	GLdouble t,
	GLdouble r,
	GLdouble q )
```

void **glTexCoord4f**( GLfloat *s*,

```
	GLfloat t,
	GLfloat r,
	GLfloat q )
```

void **glTexCoord4i**( GLint *s*,

```
	GLint t,
	GLint r,
	GLint q )
```

void **glTexCoord4s**( GLshort *s*,

```
	GLshort t,
	GLshort r,
	GLshort q )
```

## PARAMETERS

- *s*, *t*, *r*, *q*

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

## C SPECIFICATION

void **glTexCoord1dv**( const GLdouble *\*v* )

```

```

void **glTexCoord1fv**( const GLfloat *\*v* )

```

```

void **glTexCoord1iv**( const GLint *\*v* )

```

```

void **glTexCoord1sv**( const GLshort *\*v* )

```

```

void **glTexCoord2dv**( const GLdouble *\*v* )

```

```

void **glTexCoord2fv**( const GLfloat *\*v* )

```

```

void **glTexCoord2iv**( const GLint *\*v* )

```

```

void **glTexCoord2sv**( const GLshort *\*v* )

```

```

void **glTexCoord3dv**( const GLdouble *\*v* )

```

```

void **glTexCoord3fv**( const GLfloat *\*v* )

```

```

void **glTexCoord3iv**( const GLint *\*v* )

```

```

void **glTexCoord3sv**( const GLshort *\*v* )

```

```

void **glTexCoord4dv**( const GLdouble *\*v* )

```

```

void **glTexCoord4fv**( const GLfloat *\*v* )

```

```

void **glTexCoord4iv**( const GLint *\*v* )

```

```

void **glTexCoord4sv**( const GLshort *\*v* )

```

```

## PARAMETERS

- *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

**glTexCoord** specifies texture coordinates in one, two, three, or four dimensions.   **glTexCoord1** sets the current texture coordinates to (*s*, 0, 0, 1); a call to \
 **glTexCoord2** sets them to (*s*, *t*, 0, 1). Similarly, **glTexCoord3** specifies the texture coordinates as (*s*, *t*, *r*, 1), and **glTexCoord4** 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*, and *q* are (0, 0, 0, 1).

## NOTES

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

When the **GL\_ARB\_imaging** extension is supported, **glTexCoord** always updates texture unit **GL\_TEXTURE0\_ARB**.

## ASSOCIATED GETS

**glGet** with argument **GL\_CURRENT\_TEXTURE\_COORDS**

## SEE ALSO

**glTexCoordPointer(3G)**, **glVertex(3G)**
