Lines Matching refs:light
104 struct gl_light *light; in _mesa_light() local
107 light = &ctx->Light.Light[lnum]; in _mesa_light()
111 if (TEST_EQ_4V(light->Ambient, params)) in _mesa_light()
114 COPY_4V( light->Ambient, params ); in _mesa_light()
117 if (TEST_EQ_4V(light->Diffuse, params)) in _mesa_light()
120 COPY_4V( light->Diffuse, params ); in _mesa_light()
123 if (TEST_EQ_4V(light->Specular, params)) in _mesa_light()
126 COPY_4V( light->Specular, params ); in _mesa_light()
130 if (TEST_EQ_4V(light->EyePosition, params)) in _mesa_light()
133 COPY_4V(light->EyePosition, params); in _mesa_light()
134 if (light->EyePosition[3] != 0.0F) in _mesa_light()
135 light->_Flags |= LIGHT_POSITIONAL; in _mesa_light()
137 light->_Flags &= ~LIGHT_POSITIONAL; in _mesa_light()
141 if (TEST_EQ_3V(light->SpotDirection, params)) in _mesa_light()
144 COPY_3V(light->SpotDirection, params); in _mesa_light()
149 if (light->SpotExponent == params[0]) in _mesa_light()
152 light->SpotExponent = params[0]; in _mesa_light()
156 if (light->SpotCutoff == params[0]) in _mesa_light()
159 light->SpotCutoff = params[0]; in _mesa_light()
160 light->_CosCutoff = (GLfloat) (cos(light->SpotCutoff * DEG2RAD)); in _mesa_light()
161 if (light->_CosCutoff < 0) in _mesa_light()
162 light->_CosCutoff = 0; in _mesa_light()
163 if (light->SpotCutoff != 180.0F) in _mesa_light()
164 light->_Flags |= LIGHT_SPOT; in _mesa_light()
166 light->_Flags &= ~LIGHT_SPOT; in _mesa_light()
170 if (light->ConstantAttenuation == params[0]) in _mesa_light()
173 light->ConstantAttenuation = params[0]; in _mesa_light()
177 if (light->LinearAttenuation == params[0]) in _mesa_light()
180 light->LinearAttenuation = params[0]; in _mesa_light()
184 if (light->QuadraticAttenuation == params[0]) in _mesa_light()
187 light->QuadraticAttenuation = params[0]; in _mesa_light()
200 _mesa_Lightf( GLenum light, GLenum pname, GLfloat param ) in _mesa_Lightf() argument
205 _mesa_Lightfv( light, pname, fparam ); in _mesa_Lightf()
210 _mesa_Lightfv( GLenum light, GLenum pname, const GLfloat *params ) in _mesa_Lightfv() argument
213 GLint i = (GLint) (light - GL_LIGHT0); in _mesa_Lightfv()
218 _mesa_error( ctx, GL_INVALID_ENUM, "glLight(light=0x%x)", light ); in _mesa_Lightfv()
282 _mesa_Lighti( GLenum light, GLenum pname, GLint param ) in _mesa_Lighti() argument
287 _mesa_Lightiv( light, pname, iparam ); in _mesa_Lighti()
292 _mesa_Lightiv( GLenum light, GLenum pname, const GLint *params ) in _mesa_Lightiv() argument
328 _mesa_Lightfv( light, pname, fparam ); in _mesa_Lightiv()
334 _mesa_GetLightfv( GLenum light, GLenum pname, GLfloat *params ) in _mesa_GetLightfv() argument
337 GLint l = (GLint) (light - GL_LIGHT0); in _mesa_GetLightfv()
384 _mesa_GetLightiv( GLenum light, GLenum pname, GLint *params ) in _mesa_GetLightiv() argument
387 GLint l = (GLint) (light - GL_LIGHT0); in _mesa_GetLightiv()
634 struct gl_light *light, *list = &ctx->Light.EnabledList; in _mesa_update_material() local
645 foreach (light, list) { in _mesa_update_material()
646 SCALE_3V( light->_MatAmbient[0], light->Ambient, in _mesa_update_material()
652 foreach (light, list) { in _mesa_update_material()
653 SCALE_3V( light->_MatAmbient[1], light->Ambient, in _mesa_update_material()
673 foreach (light, list) { in _mesa_update_material()
674 SCALE_3V( light->_MatDiffuse[0], light->Diffuse, in _mesa_update_material()
680 foreach (light, list) { in _mesa_update_material()
681 SCALE_3V( light->_MatDiffuse[1], light->Diffuse, in _mesa_update_material()
688 foreach (light, list) { in _mesa_update_material()
689 SCALE_3V( light->_MatSpecular[0], light->Specular, in _mesa_update_material()
695 foreach (light, list) { in _mesa_update_material()
696 SCALE_3V( light->_MatSpecular[1], light->Specular, in _mesa_update_material()
887 struct gl_light *light; in _mesa_update_lighting() local
893 foreach(light, &ctx->Light.EnabledList) { in _mesa_update_lighting()
894 flags |= light->_Flags; in _mesa_update_lighting()
949 struct gl_light *light; in compute_light_positions() local
962 foreach (light, &ctx->Light.EnabledList) { in compute_light_positions()
966 COPY_4FV( light->_Position, light->EyePosition ); in compute_light_positions()
970 TRANSFORM_POINT( light->_Position, ctx->ModelviewMatrixStack.Top->inv, in compute_light_positions()
971 light->EyePosition ); in compute_light_positions()
974 if (!(light->_Flags & LIGHT_POSITIONAL)) { in compute_light_positions()
976 COPY_3V( light->_VP_inf_norm, light->_Position ); in compute_light_positions()
977 NORMALIZE_3FV( light->_VP_inf_norm ); in compute_light_positions()
981 ADD_3V( light->_h_inf_norm, light->_VP_inf_norm, ctx->_EyeZDir); in compute_light_positions()
982 NORMALIZE_3FV( light->_h_inf_norm ); in compute_light_positions()
984 light->_VP_inf_spot_attenuation = 1.0; in compute_light_positions()
988 GLfloat wInv = (GLfloat)1.0 / light->_Position[3]; in compute_light_positions()
989 light->_Position[0] *= wInv; in compute_light_positions()
990 light->_Position[1] *= wInv; in compute_light_positions()
991 light->_Position[2] *= wInv; in compute_light_positions()
994 if (light->_Flags & LIGHT_SPOT) { in compute_light_positions()
998 COPY_3V( light->_NormSpotDirection, light->SpotDirection ); in compute_light_positions()
999 NORMALIZE_3FV( light->_NormSpotDirection ); in compute_light_positions()
1003 COPY_3V(spotDir, light->SpotDirection); in compute_light_positions()
1005 TRANSFORM_NORMAL( light->_NormSpotDirection, in compute_light_positions()
1010 NORMALIZE_3FV( light->_NormSpotDirection ); in compute_light_positions()
1012 if (!(light->_Flags & LIGHT_POSITIONAL)) { in compute_light_positions()
1013 GLfloat PV_dot_dir = - DOT3(light->_VP_inf_norm, in compute_light_positions()
1014 light->_NormSpotDirection); in compute_light_positions()
1016 if (PV_dot_dir > light->_CosCutoff) { in compute_light_positions()
1017 light->_VP_inf_spot_attenuation = in compute_light_positions()
1018 powf(PV_dot_dir, light->SpotExponent); in compute_light_positions()
1021 light->_VP_inf_spot_attenuation = 0; in compute_light_positions()