2003-2004 Silicon Graphics, Inc.
glNormal 3G
glNormal glNormal3f glNormal3x set the current normal vector

## C Specification

void `glNormal3f` GLfloat nx GLfloat ny GLfloat nz void `glNormal3x` GLfixed nx GLfixed ny GLfixed nz

## Parameters

nx, ny, nz

  Specify the x, y, and z coordinates of the new current normal. The initial value is (0, 0, 1).

## Description

The current normal is set to the given coordinates whenever `glNormal` is issued.

Normals specified with `glNormal` need not have unit length. If `GL_NORMALIZE` is enabled, then normals of any length specified with `glNormal` are normalized after transformation. If `GL_RESCALE_NORMAL` is enabled, normals are scaled by a scaling factor derived from the modelview matrix. `GL_RESCALE_NORMAL` requires that the originally specified normals were of unit length, and that the modelview matrix contain only uniform scales for proper results. To enable and disable normalization, call glEnable and glDisable with either `GL_NORMALIZE` or `GL_RESCALE_NORMAL`. Normalization is initially disabled.

## Associated Gets

glGet with argument `GL_CURRENT_NORMAL`

glIsEnabled with argument `GL_NORMALIZE`

glIsEnabled with argument `GL_RESCALE_NORMAL`

## See Also

glColor, glEnable, glMultiTexCoord, glNormalPointer

## Copyright

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