Gl.Normal3iv (gb.opengl)

Static Sub Normal3iv ( Params As Integer[] )

Set the current normal vector.

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

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 Gl.Normal 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 Gl.Normal need not have unit length. If Gl.NORMALIZE is enabled, then normals of any length specified with Gl.Normal 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 Gl.Enable and Gl.Disable with either Gl.NORMALIZE or Gl.RESCALE_NORMAL. Normalization is initially disabled.

Notes

The current normal can be updated at any time. In particular, Gl.Normal can be called between a call to Gl.Begin and the corresponding call to Gl.End.

Associated Gets

Gl.Get with argument Gl.CURRENT_NORMAL

Gl.IsEnabled with argument Gl.NORMALIZE

Gl.IsEnabled with argument Gl.RESCALE_NORMAL

See also

Gl.Begin, Gl.Index, Gl.MultiTexCoord, Gl.NormalPointer, Gl.TexCoord, Gl.Vertex

See original documentation on OpenGL website