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

# gluLoadSamplingMatrices(3x)

load NURBS sampling and culling matrices

## NAME

**gluLoadSamplingMatrices** - load NURBS sampling and culling matrices

## C SPECIFICATION

void **gluLoadSamplingMatrices**( GLUnurbs\* *nurb*,

```
	const GLfloat *model,
	const GLfloat *perspective,
	const GLint *view )
```

delim $$

## PARAMETERS

- *nurb*

  Specifies the NURBS object (created with **gluNewNurbsRenderer**).

- *model*

  Specifies a modelview matrix (as from a **glGetFloatv** call).

- *perspective*

  Specifies a projection matrix (as from a **glGetFloatv** call).

- *view*

  Specifies a viewport (as from a **glGetIntegerv** call).

## DESCRIPTION

**gluLoadSamplingMatrices** uses *model*, *perspective*, and *view* to recompute the sampling and culling  matrices stored in *nurb*. The sampling matrix determines how finely a NURBS curve or surface must be tessellated to satisfy the sampling tolerance (as determined by the **GLU\_SAMPLING\_TOLERANCE** property). The culling matrix is used in deciding if a NURBS curve or surface should be culled before  rendering (when the **GLU\_CULLING** property is turned on).

**gluLoadSamplingMatrices** is necessary only if the **GLU\_AUTO\_LOAD\_MATRIX** property is turned off (see **gluNurbsProperty**). Although it can be convenient to leave the **GLU\_AUTO\_LOAD\_MATRIX** property turned on, there can be a performance penalty for doing so. (A round trip to the GL server is needed to fetch the current values of the modelview matrix, projection matrix, and viewport.)

## SEE ALSO

**gluGetNurbsProperty(3G)**, **gluNewNurbsRenderer(3G)**, **gluNurbsProperty(3G)**
