NAME
glNormal3b, glNormal3d, glNormal3f, glNormal3i, glNormal3s, glNormal3bv, glNormal3dv, glNormal3fv, glNormal3iv, glNormal3sv
- set the current normal vector
delim $$
C SPECIFICATION
void ggllNNoorrmmaall33bb(
GLbyte _n_x,
GLbyte _n_y,
GLbyte _n_z )
void ggllNNoorrmmaall33dd(
GLdouble _n_x,
GLdouble _n_y,
GLdouble _n_z )
void ggllNNoorrmmaall33ff(
GLfloat _n_x,
GLfloat _n_y,
GLfloat _n_z )
void ggllNNoorrmmaall33ii(
GLint _n_x,
GLint _n_y,
GLint _n_z )
void ggllNNoorrmmaall33ss(
GLshort _n_x,
GLshort _n_y,
GLshort _n_z )
PARAMETERS
-
_n_x, _n_y, _n_z
-
Specify the $x$, $y$, and $z$ coordinates of the new current normal.
The initial value of the current normal is the unit vector, (0, 0, 1).
C SPECIFICATION
void ggllNNoorrmmaall33bbvv(
const GLbyte _*_v )
void ggllNNoorrmmaall33ddvv(
const GLdouble _*_v )
void ggllNNoorrmmaall33ffvv(
const GLfloat _*_v )
void ggllNNoorrmmaall33iivv(
const GLint _*_v )
void ggllNNoorrmmaall33ssvv(
const GLshort _*_v )
PARAMETERS
-
_v
-
Specifies a pointer to an array of three elements:
the $x$, $y$, and $z$ coordinates of the new current normal.
DESCRIPTION
The current normal is set to the given coordinates
whenever ggllNNoorrmmaall 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 ggllNNoorrmmaall need not have unit length.
If GGLL__NNOORRMMAALLIIZZEE is enabled,
then normals of any length specified with ggllNNoorrmmaall are normalized after transformation.
If GGLL__RREESSCCAALLEE__NNOORRMMAALL is enabled, normals are scaled by a scaling factor
derived from the modelview matrix. GGLL__RREESSCCAALLEE__NNOORRMMAALL 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 ggllEEnnaabbllee and ggllDDiissaabbllee
with either GGLL__NNOORRMMAALLIIZZEE or GGLL__RREESSCCAALLEE__NNOORRMMAALL.
Normalization is initially disabled.
NOTES
The current normal can be updated at any time.
In particular, ggllNNoorrmmaall can be called between a call to ggllBBeeggiinn and
the corresponding call to ggllEEnndd.
ASSOCIATED GETS
ggllGGeett with argument GGLL__CCUURRRREENNTT__NNOORRMMAALL
ggllIIssEEnnaabblleedd with argument GGLL__NNOORRMMAALLIIZZEE
ggllIIssEEnnaabblleedd with argument GGLL__RREESSCCAALLEE__NNOORRMMAALL
SEE ALSO
ggllBBeeggiinn((33GG)),
ggllCCoolloorr((33GG)),
ggllIInnddeexx((33GG)),
ggllNNoorrmmaallPPooiinntteerr((33GG)),
ggllTTeexxCCoooorrdd((33GG)),
ggllVVeerrtteexx((33GG))