---
name: "glVertex"
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/glVertex"
---

# glVertex(3x)

specify a vertex

## NAME

**glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d, glVertex3f, glVertex3i, glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv, glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv, glVertex4fv, glVertex4iv, glVertex4sv** - specify a vertex

## C SPECIFICATION

void **glVertex2d**( GLdouble *x*,

```
	GLdouble y )
```

void **glVertex2f**( GLfloat *x*,

```
	GLfloat y )
```

void **glVertex2i**( GLint *x*,

```
	GLint y )
```

void **glVertex2s**( GLshort *x*,

```
	GLshort y )
```

void **glVertex3d**( GLdouble *x*,

```
	GLdouble y,
	GLdouble z )
```

void **glVertex3f**( GLfloat *x*,

```
	GLfloat y,
	GLfloat z )
```

void **glVertex3i**( GLint *x*,

```
	GLint y,
	GLint z )
```

void **glVertex3s**( GLshort *x*,

```
	GLshort y,
	GLshort z )
```

void **glVertex4d**( GLdouble *x*,

```
	GLdouble y,
	GLdouble z,
	GLdouble w )
```

void **glVertex4f**( GLfloat *x*,

```
	GLfloat y,
	GLfloat z,
	GLfloat w )
```

void **glVertex4i**( GLint *x*,

```
	GLint y,
	GLint z,
	GLint w )
```

void **glVertex4s**( GLshort *x*,

```
	GLshort y,
	GLshort z,
	GLshort w )
```

## PARAMETERS

- *x*, *y*, *z*, *w*

  Specify *x*, *y*, *z*, and *w* coordinates of a vertex. Not all parameters are present in all forms of the command.

## C SPECIFICATION

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

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

```

```

## PARAMETERS

- *v*

  Specifies a pointer to an array of two, three, or four elements. The elements of a two-element array are *x* and *y*; of a three-element array, *x*, *y*, and *z*; and of a four-element array, *x*, *y*, *z*, and *w*.

## DESCRIPTION

**glVertex** commands are used within **glBegin**/**glEnd** pairs to specify point, line, and polygon vertices. The current color, normal, and texture coordinates are associated with the vertex when **glVertex** is called.

When only *x* and *y* are specified, *z* defaults to 0 and *w* defaults to 1. When *x, y,* and *z* are specified, *w* defaults to 1.

## NOTES

Invoking **glVertex** outside of a **glBegin**/**glEnd** pair results in undefined behavior.

## SEE ALSO

**glBegin(3G)**, **glCallList(3G)**, **glColor(3G)**, **glEdgeFlag(3G)**, **glEvalCoord(3G)**, **glIndex(3G)**, **glMaterial(3G)**,\
 **glNormal(3G)**, **glRect(3G)**, **glTexCoord(3G)**, **glVertexPointer(3G)**
