fglNormal(3G) OpenGL Reference fglNormal(3G)NAME
fglNormal3b, fglNormal3d, fglNormal3f, fglNormal3i, fglNormal3s,
fglNormal3bv, fglNormal3dv, fglNormal3fv, fglNormal3iv, fglNormal3sv -
set the current normal vector
FORTRAN SPECIFICATION
SUBROUTINE fglNormal3b( INTEGER*1 nx,
INTEGER*1 ny,
INTEGER*1 nz )
SUBROUTINE fglNormal3d( REAL*4 nx,
REAL*4 ny,
REAL*4 nz )
SUBROUTINE fglNormal3f( REAL*4 nx,
REAL*4 ny,
REAL*4 nz )
SUBROUTINE fglNormal3i( INTEGER*4 nx,
INTEGER*4 ny,
INTEGER*4 nz )
SUBROUTINE fglNormal3s( INTEGER*2 nx,
INTEGER*2 ny,
INTEGER*2 nz )
PARAMETERS
nx, ny, nz
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).
FORTRAN SPECIFICATION
SUBROUTINE fglNormal3bv( CHARACTER*8 v )
SUBROUTINE fglNormal3dv( CHARACTER*8 v )
SUBROUTINE fglNormal3fv( CHARACTER*8 v )
SUBROUTINE fglNormal3iv( CHARACTER*8 v )
SUBROUTINE fglNormal3sv( CHARACTER*8 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 fglNormal is
issued. Byte, short, or integer arguments are converted to floating-
point format 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 fglNormal need not have unit length. If
GL_NORMALIZE is enabled, then normals of any length specified with
fglNormal are normalized after transformation. If GL_RESCALE_NORMAL is
Page 1
fglNormal(3G) OpenGL Reference fglNormal(3G)
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 fglEnable and fglDisable with either GL_NORMALIZE or
GL_RESCALE_NORMAL. Normalization is initially disabled.
NOTES
The current normal can be updated at any time. In particular, fglNormal
can be called between a call to fglBegin and the corresponding call to
fglEnd.
ASSOCIATED GETS
fglGet with argument GL_CURRENT_NORMAL
fglIsEnabled with argument GL_NORMALIZE
fglIsEnabled with argument GL_RESCALE_NORMAL
SEE ALSO
fglBegin, fglColor, fglIndex, fglNormalPointer, fglTexCoord, fglVertex
Page 2