N man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



n3f(3G)								       n3f(3G)

NAME
     n3f - specifies a normal

C SPECIFICATION
     void n3f(float vector[3])

PARAMETERS
     vector   expects the address of an array containing three floating point
	      numbers.	These numbers are used to set the value for the
	      current vertex normal.

DESCRIPTION
     n3f specifies a floating point normal for lighting calculations.  The
     normal becomes the current normal for subsequent vertices; it is not
     necessary to respecify a normal if it is unchanged (e.g., a single call
     to n3f specifies normals for all vertices of a flat- shaded polygon).

     Vector components are Nx, Ny, and Nz for indices 0, 1, and 2.

     Lighting calculations assume that the specified normal is of unit length.
     If non-unit-length normals are to be specified, use nmode (NNORMALIZE) to
     inform the system that non-unit-length normals must be normalized.
     Lighting performance may be reduced in this event.

     When called with unequal arguments, scale causes the ModelView matrix to
     become non-orthonormal.  In this case, or in any other case that results
     in a non-orthonormal ModelView matrix, normals are also renormalized
     automatically by default, as specified by nmode (NAUTO).  Performance
     reduction, if any, matches that of nmode (NNORMALIZE).

SEE ALSO
     lmbind, lmdef, nmode

BUGS
     On the IRIS-4D/120GTX and IRIS-4D/140GTX, there is problem with the
     graphics DMA hardware that can cause data to be sent to the hardware
     after the subroutine call has returned.  If the data is modified
     immediately after the subroutine call, the modified data may get sent
     down.  To avoid this, don't modify the data until after another n, v, or
     c call has been made.

     This is an example of the bug:

	  vertex[2] = 1.0;
	  v3f(vertex);	 /* 4D/1x0 GTX hardware may receive 3.0 for the z value */
	  vertex[2] = 3.0;
	  v3f(vertex);

     This is one way to work around the problem:

									Page 1

n3f(3G)								       n3f(3G)

	  vertexA[2] = 1.0;
	  v3f(vertexA);
	  vertexB[2] = 3.0;
	  v3f(vertexB);

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net