Name

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. Byte, short, or integer arguments are converted to floating-point with a linear mapping that maps the most positive representable integer value to 1.0, and the most negative representable integer value to -1.0.

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.

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/.

See Also

glColor, glEnable, glMultiTexCoord, glNormalPointer