
L
glLight
Chapter 10
251
Description
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.
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
Summary of Contents for c3700 - Workstation
Page 9: ...Chapter 1 9 1 A ...
Page 18: ...A glArrayElement Chapter 1 18 glNormalPointer glTexCoordPointer glVertexPointer ...
Page 19: ...Chapter 2 19 2 B ...
Page 40: ...B gluBuild2DMipmaps Chapter 2 40 ...
Page 41: ...Chapter 3 41 3 C ...
Page 49: ...C glXChooseVisual Chapter 3 49 See Also glXCreateContext glXGetConfig ...
Page 73: ...C glCopyPixels Chapter 3 73 glReadBuffer glReadPixels glStencilFunc ...
Page 84: ...C glCopyTexSubImage2D Chapter 3 84 glTexParameter glTexSubImage1D glTexSubImage2D ...
Page 93: ...Chapter 4 93 4 D ...
Page 99: ...D glDeleteTextures Chapter 4 99 glTexImage1D glTexImage2D glTexParameter ...
Page 127: ...Chapter 5 127 5 E ...
Page 148: ...E glEvalPoint Chapter 5 148 ...
Page 149: ...Chapter 6 149 6 F ...
Page 161: ...Chapter 7 161 7 G ...
Page 164: ...G glGenTextures Chapter 7 164 glTexImage1D glTexImage2D glTexParameter ...
Page 207: ...G glGetPointer Chapter 7 207 glSelectBuffer glTexCoordPointer glVertexPointer ...
Page 225: ...Chapter 8 225 8 H ...
Page 228: ...H glHint Chapter 8 228 ...
Page 229: ...Chapter 9 229 9 I ...
Page 248: ...I glIsTexture Chapter 9 248 ...
Page 249: ...Chapter 10 249 10 L ...
Page 256: ...L glLightModel Chapter 10 256 See Also glLight glMaterial ...
Page 271: ...Chapter 11 271 11 M ...
Page 291: ...Chapter 12 291 12 N ...
Page 312: ...N gluNurbsSurface Chapter 12 312 ...
Page 313: ...Chapter 13 313 13 O ...
Page 317: ...Chapter 14 317 14 P ...
Page 360: ...P glPushName Chapter 14 360 See Also glInitNames glLoadName glRenderMode glSelectBuffer ...
Page 362: ...P gluPwlCurve Chapter 14 362 ...
Page 363: ...Chapter 15 363 15 Q ...
Page 372: ...Q glXQueryVersion Chapter 15 372 glXQueryVersion ...
Page 373: ...Chapter 16 373 16 R ...
Page 390: ...R glRotate Chapter 16 390 ...
Page 391: ...Chapter 17 391 17 S ...
Page 397: ...S glScissor Chapter 17 397 See Also glEnable glViewport ...
Page 409: ...Chapter 18 409 18 T ...
Page 448: ...T glTexImage3DEXT Chapter 18 448 glTexGen glTexImage1D glTexImage2D glTexParameter ...
Page 457: ...T glTexSubImage1D Chapter 18 457 glTexImage2D glTexParameter glTexSubImage2D ...
Page 465: ...T glTranslate Chapter 18 465 See Also glMatrixMode glMultMatrix glPushMatrix glScale ...
Page 466: ...T glTranslate Chapter 18 466 ...
Page 467: ...Chapter 19 467 19 U ...
Page 469: ...U gluUnProject Chapter 19 469 See Also glGet gluProject ...
Page 471: ...U glXUseXFont Chapter 19 471 See Also glBitmap glXMakeCurrent ...
Page 472: ...U glXUseXFont Chapter 19 472 ...
Page 473: ...Chapter 20 473 20 V ...
Page 482: ...V glVisibilityBufferhp Chapter 20 482 ...
Page 483: ...Chapter 21 483 21 W ...
Page 486: ...W glXWaitX Chapter 21 486 ...