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

# gluCylinder(3x)

draw a cylinder

## NAME

**gluCylinder** - draw a cylinder

## C SPECIFICATION

void **gluCylinder**( GLUquadric\* *quad*,

```
	GLdouble base,
	GLdouble top,
	GLdouble height,
	GLint slices,
	GLint stacks )
```

delim $$

## PARAMETERS

- *quad*

  Specifies the quadrics object (created with **gluNewQuadric**).

- *base*

  Specifies the radius of the cylinder at *z* = 0.

- *top*

  Specifies the radius of the cylinder at *z* = *height*.

- *height*

  Specifies the height of the cylinder.

- *slices*

  Specifies the number of subdivisions around the *z* axis.

- *stacks*

  Specifies the number of subdivisions along the *z* axis.

## DESCRIPTION

**gluCylinder** draws a cylinder oriented along the *z* axis. The base of the cylinder is placed at *z* = 0, and the top at $ z ~=~ "height" $. Like a sphere, a cylinder is subdivided around the *z* axis into slices, and along the  *z* axis into stacks.

Note that if *top* is set to 0.0, this routine generates a cone.

If the orientation is set to **GLU\_OUTSIDE**  (with **gluQuadricOrientation**), then any generated normals point away from the *z* axis. Otherwise, they point toward the  *z* axis.

If texturing is turned on (with **gluQuadricTexture**), then texture  coordinates are generated so that *t* ranges linearly from 0.0  at *z* = 0 to 1.0 at *z* = *height*, and *s*  ranges from 0.0 at the +*y* axis, to 0.25 at the +*x* axis,  to 0.5 at the -*y* axis, to 0.75 at the -*x* axis,  and back to 1.0 at the +*y* axis.

## SEE ALSO

**gluDisk(3G)**, **gluNewQuadric(3G)**, **gluPartialDisk(3G)**, **gluQuadricTexture(3G)**,  **gluSphere(3G)**
