*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/gllight (3)              
Title
Content
Arch
Section
 

Contents


glLight(3G)		       OpenGL Reference			   glLight(3G)


NAME    [Toc]    [Back]

     glLightf, glLighti, glLightfv, glLightiv -	set light source parameters

C SPECIFICATION    [Toc]    [Back]

     void glLightf( GLenum light,
		    GLenum pname,
		    GLfloat param )
     void glLighti( GLenum light,
		    GLenum pname,
		    GLint param	)

PARAMETERS    [Toc]    [Back]

     light   Specifies a light.	 The number of lights depends on the
	     implementation, but at least eight	lights are supported.  They
	     are identified by symbolic	names of the form GL_LIGHTi where 0 <
	     i < GL_MAX_LIGHTS.

     pname   Specifies a single-valued light source parameter for light.
	     GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION,
	     GL_LINEAR_ATTENUATION, and	GL_QUADRATIC_ATTENUATION are accepted.

     param   Specifies the value that parameter	pname of light source light
	     will be set to.

C SPECIFICATION    [Toc]    [Back]

     void glLightfv( GLenum light,
		     GLenum pname,
		     const GLfloat *params )
     void glLightiv( GLenum light,
		     GLenum pname,
		     const GLint *params )

PARAMETERS    [Toc]    [Back]

     light
	  Specifies a light.  The number of lights depends on the
	  implementation, but at least eight lights are	supported.  They are
	  identified by	symbolic names of the form GL_LIGHTi where 0 < i <
	  GL_MAX_LIGHTS.

     pname
	  Specifies a light source parameter for light.	 GL_AMBIENT,
	  GL_DIFFUSE, GL_SPECULAR, GL_POSITION,	GL_SPOT_CUTOFF,
	  GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_CONSTANT_ATTENUATION,
	  GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION are accepted.

     params
	  Specifies a pointer to the value or values that parameter pname of
	  light	source light will be set to.




									Page 1






glLight(3G)		       OpenGL Reference			   glLight(3G)


DESCRIPTION    [Toc]    [Back]

     glLight sets the values of	individual light source	parameters.  light
     names the light and is a symbolic name of the form	GL_LIGHTi, where 0 < i
     < GL_MAX_LIGHTS.  pname specifies one of ten light	source parameters,
     again by symbolic name.  params is	either a single	value or a pointer to
     an	array that contains the	new values.

     To	enable and disable lighting calculation, call glEnable and glDisable
     with argument GL_LIGHTING.	Lighting is initially disabled.	 When it is
     enabled, light sources that are enabled contribute	to the lighting
     calculation.  Light source	i is enabled and disabled using	glEnable and
     glDisable with argument GL_LIGHTi.

     The ten light parameters are as follows:

     GL_AMBIENT		 params	contains four integer or floating-point	values
			 that specify the ambient RGBA intensity of the	light.
			 Integer values	are mapped linearly such that the most
			 positive representable	value maps to 1.0, and the
			 most negative representable value maps	to -1.0.
			 Floating-point	values are mapped directly.  Neither
			 integer nor floating-point values are clamped.	 The
			 initial ambient light intensity is (0,	0, 0, 1).

     GL_DIFFUSE		 params	contains four integer or floating-point	values
			 that specify the diffuse RGBA intensity of the	light.
			 Integer values	are mapped linearly such that the most
			 positive representable	value maps to 1.0, and the
			 most negative representable value maps	to -1.0.
			 Floating-point	values are mapped directly.  Neither
			 integer nor floating-point values are clamped.	 The
			 initial value for GL_LIGHT0 is	(1, 1, 1, 1); for
			 other lights, the initial value is (0,	0, 0, 0).

     GL_SPECULAR	 params	contains four integer or floating-point	values
			 that specify the specular RGBA	intensity of the
			 light.	 Integer values	are mapped linearly such that
			 the most positive representable value maps to 1.0,
			 and the most negative representable value maps	to
			 -1.0.	Floating-point values are mapped directly.
			 Neither integer nor floating-point values are
			 clamped.  The initial value for GL_LIGHT0 is (1, 1,
			 1, 1);	for other lights, the initial value is (0, 0,
			 0, 0).

     GL_POSITION	 params	contains four integer or floating-point	values
			 that specify the position of the light	in homogeneous
			 object	coordinates.  Both integer and floating-point
			 values	are mapped directly.  Neither integer nor
			 floating-point	values are clamped.





									Page 2






glLight(3G)		       OpenGL Reference			   glLight(3G)



			 The position is transformed by	the modelview matrix
			 when glLight is called	(just as if it were a point),
			 and it	is stored in eye coordinates.  If the w
			 component of the position is 0, the light is treated
			 as a directional source.  Diffuse and specular
			 lighting calculations take the	light's	direction, but
			 not its actual	position, into account,	and
			 attenuation is	disabled.  Otherwise, diffuse and
			 specular lighting calculations	are based on the
			 actual	location of the	light in eye coordinates, and
			 attenuation is	enabled.  The initial position is (0,
			 0, 1, 0); thus, the initial light source is
			 directional, parallel to, and in the direction	of the
			 -z axis.

     GL_SPOT_DIRECTION	 params	contains three integer or floating-point
			 values	that specify the direction of the light	in
			 homogeneous object coordinates.  Both integer and
			 floating-point	values are mapped directly.  Neither
			 integer nor floating-point values are clamped.

			 The spot direction is transformed by the inverse of
			 the modelview matrix when glLight is called (just as
			 if it were a normal), and it is stored	in eye
			 coordinates.  It is significant only when
			 GL_SPOT_CUTOFF	is not 180, which it is	initially.
			 The initial direction is (0, 0, -1).

     GL_SPOT_EXPONENT	 params	is a single integer or floating-point value
			 that specifies	the intensity distribution of the
			 light.	 Integer and floating-point values are mapped
			 directly.  Only values	in the range [0,128] are
			 accepted.

			 Effective light intensity is attenuated by the	cosine
			 of the	angle between the direction of the light and
			 the direction from the	light to the vertex being
			 lighted, raised to the	power of the spot exponent.
			 Thus, higher spot exponents result in a more focused
			 light source, regardless of the spot cutoff angle
			 (see GL_SPOT_CUTOFF, next paragraph).	The initial
			 spot exponent is 0, resulting in uniform light
			 distribution.

     GL_SPOT_CUTOFF	 params	is a single integer or floating-point value
			 that specifies	the maximum spread angle of a light
			 source.  Integer and floating-point values are	mapped
			 directly.  Only values	in the range [0,90] and	the
			 special value 180 are accepted.  If the angle between
			 the direction of the light and	the direction from the
			 light to the vertex being lighted is greater than the
			 spot cutoff angle, the	light is completely masked.



									Page 3






glLight(3G)		       OpenGL Reference			   glLight(3G)



			 Otherwise, its	intensity is controlled	by the spot
			 exponent and the attenuation factors.	The initial
			 spot cutoff is	180, resulting in uniform light
			 distribution.

     GL_CONSTANT_ATTENUATION    [Toc]    [Back]

     GL_LINEAR_ATTENUATION    [Toc]    [Back]

     GL_QUADRATIC_ATTENUATION    [Toc]    [Back]
			 params	is a single integer or floating-point value
			 that specifies	one of the three light attenuation
			 factors.  Integer and floating-point values are
			 mapped	directly.  Only	nonnegative values are
			 accepted.  If the light is positional,	rather than
			 directional, its intensity is attenuated by the
			 reciprocal of the sum of the constant factor, the
			 linear	factor times the distance between the light
			 and the vertex	being lighted, and the quadratic
			 factor	times the square of the	same distance.	The
			 initial attenuation factors are (1, 0,	0), resulting
			 in no attenuation.

NOTES    [Toc]    [Back]

     It	is always the case that	GL_LIGHTi = GL_LIGHT0 +	i.

ERRORS    [Toc]    [Back]

     GL_INVALID_ENUM is	generated if either light or pname is not an accepted
     value.

     GL_INVALID_VALUE is generated if a	spot exponent value is specified
     outside the range [0,128],	or if spot cutoff is specified outside the
     range [0,90] (except for the special value	180), or if a negative
     attenuation factor	is specified.

     GL_INVALID_OPERATION is generated if glLight is executed between the
     execution of glBegin and the corresponding	execution of glEnd.

ASSOCIATED GETS    [Toc]    [Back]

     glGetLight
     glIsEnabled with argument GL_LIGHTING

SEE ALSO    [Toc]    [Back]

      
      
     glColorMaterial, glLightModel, glMaterial


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
glfragmentlight IRIX set fragment light source parameters
glgetlight IRIX return light source parameter values
glGetLightiv Tru64 return light source parameter values
glGetLightfv Tru64 return light source parameter values
glGetLight Tru64 return light source parameter values
lmbind IRIX selects a new material, light source, or lighting model
glgetfragmentlight IRIX return fragment light source parameter values
lmdef IRIX defines or modifies a material, light source, or lighting model
dmColorSetSrcParams IRIX set/get the source/destination image parameters.
srconfig Tru64 Displays and controls source routing functions and parameters for communication on token ring networ...
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service