Lines Matching refs:Light

47    if (ctx->Light.ShadeModel == mode)
56 ctx->Light.ShadeModel = mode;
73 if (ctx->Light.ProvokingVertex == mode)
86 ctx->Light.ProvokingVertex = mode;
103 light = &ctx->Light.Light[lnum];
105 struct gl_light_uniforms *lu = &ctx->Light.LightSource[lnum];
389 COPY_4V( params, ctx->Light.LightSource[l].Ambient );
392 COPY_4V( params, ctx->Light.LightSource[l].Diffuse );
395 COPY_4V( params, ctx->Light.LightSource[l].Specular );
398 COPY_4V( params, ctx->Light.LightSource[l].EyePosition );
401 COPY_3V( params, ctx->Light.LightSource[l].SpotDirection );
404 params[0] = ctx->Light.LightSource[l].SpotExponent;
407 params[0] = ctx->Light.LightSource[l].SpotCutoff;
410 params[0] = ctx->Light.LightSource[l].ConstantAttenuation;
413 params[0] = ctx->Light.LightSource[l].LinearAttenuation;
416 params[0] = ctx->Light.LightSource[l].QuadraticAttenuation;
438 params[0] = FLOAT_TO_INT(ctx->Light.LightSource[l].Ambient[0]);
439 params[1] = FLOAT_TO_INT(ctx->Light.LightSource[l].Ambient[1]);
440 params[2] = FLOAT_TO_INT(ctx->Light.LightSource[l].Ambient[2]);
441 params[3] = FLOAT_TO_INT(ctx->Light.LightSource[l].Ambient[3]);
444 params[0] = FLOAT_TO_INT(ctx->Light.LightSource[l].Diffuse[0]);
445 params[1] = FLOAT_TO_INT(ctx->Light.LightSource[l].Diffuse[1]);
446 params[2] = FLOAT_TO_INT(ctx->Light.LightSource[l].Diffuse[2]);
447 params[3] = FLOAT_TO_INT(ctx->Light.LightSource[l].Diffuse[3]);
450 params[0] = FLOAT_TO_INT(ctx->Light.LightSource[l].Specular[0]);
451 params[1] = FLOAT_TO_INT(ctx->Light.LightSource[l].Specular[1]);
452 params[2] = FLOAT_TO_INT(ctx->Light.LightSource[l].Specular[2]);
453 params[3] = FLOAT_TO_INT(ctx->Light.LightSource[l].Specular[3]);
456 params[0] = (GLint) ctx->Light.LightSource[l].EyePosition[0];
457 params[1] = (GLint) ctx->Light.LightSource[l].EyePosition[1];
458 params[2] = (GLint) ctx->Light.LightSource[l].EyePosition[2];
459 params[3] = (GLint) ctx->Light.LightSource[l].EyePosition[3];
462 params[0] = (GLint) ctx->Light.LightSource[l].SpotDirection[0];
463 params[1] = (GLint) ctx->Light.LightSource[l].SpotDirection[1];
464 params[2] = (GLint) ctx->Light.LightSource[l].SpotDirection[2];
467 params[0] = (GLint) ctx->Light.LightSource[l].SpotExponent;
470 params[0] = (GLint) ctx->Light.LightSource[l].SpotCutoff;
473 params[0] = (GLint) ctx->Light.LightSource[l].ConstantAttenuation;
476 params[0] = (GLint) ctx->Light.LightSource[l].LinearAttenuation;
479 params[0] = (GLint) ctx->Light.LightSource[l].QuadraticAttenuation;
490 /*** Light Model ***/
503 if (TEST_EQ_4V( ctx->Light.Model.Ambient, params ))
506 COPY_4V( ctx->Light.Model.Ambient, params );
512 if (ctx->Light.Model.LocalViewer == newbool)
516 ctx->Light.Model.LocalViewer = newbool;
520 if (ctx->Light.Model.TwoSide == newbool)
524 ctx->Light.Model.TwoSide = newbool;
538 if (ctx->Light.Model.ColorControl == newenum)
542 ctx->Light.Model.ColorControl = newenum;
665 /* Update derived values following a change in ctx->Light.Material
670 GLfloat (*mat)[4] = ctx->Light.Material.Attrib;
680 GLbitfield mask = ctx->Light._EnabledLights;
683 struct gl_light *light = &ctx->Light.Light[i];
684 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
691 GLbitfield mask = ctx->Light._EnabledLights;
694 struct gl_light *light = &ctx->Light.Light[i];
695 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
703 COPY_3V( ctx->Light._BaseColor[0], mat[MAT_ATTRIB_FRONT_EMISSION] );
704 ACC_SCALE_3V( ctx->Light._BaseColor[0], mat[MAT_ATTRIB_FRONT_AMBIENT],
705 ctx->Light.Model.Ambient );
709 COPY_3V( ctx->Light._BaseColor[1], mat[MAT_ATTRIB_BACK_EMISSION] );
710 ACC_SCALE_3V( ctx->Light._BaseColor[1], mat[MAT_ATTRIB_BACK_AMBIENT],
711 ctx->Light.Model.Ambient );
716 GLbitfield mask = ctx->Light._EnabledLights;
719 struct gl_light *light = &ctx->Light.Light[i];
720 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
727 GLbitfield mask = ctx->Light._EnabledLights;
730 struct gl_light *light = &ctx->Light.Light[i];
731 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
739 GLbitfield mask = ctx->Light._EnabledLights;
742 struct gl_light *light = &ctx->Light.Light[i];
743 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
750 GLbitfield mask = ctx->Light._EnabledLights;
753 struct gl_light *light = &ctx->Light.Light[i];
754 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
770 GLbitfield bitmask = ctx->Light._ColorMaterialBitmask;
771 struct gl_material *mat = &ctx->Light.Material;
803 if (ctx->Light._ColorMaterialBitmask == bitmask &&
804 ctx->Light.ColorMaterialFace == face &&
805 ctx->Light.ColorMaterialMode == mode)
809 ctx->Light._ColorMaterialBitmask = bitmask;
810 ctx->Light.ColorMaterialFace = face;
811 ctx->Light.ColorMaterialMode = mode;
813 if (ctx->Light.ColorMaterialEnabled) {
826 GLfloat (*mat)[4] = ctx->Light.Material.Attrib;
829 FLUSH_CURRENT(ctx, 0); /* update ctx->Light.Material from vertex buffer */
878 GLfloat (*mat)[4] = ctx->Light.Material.Attrib;
883 FLUSH_CURRENT(ctx, 0); /* update ctx->Light.Material from vertex buffer */
945 bool old_need_eye_coords = ctx->Light._NeedEyeCoords;
946 ctx->Light._NeedEyeCoords = GL_FALSE;
948 if (!ctx->Light.Enabled) {
949 return old_need_eye_coords != ctx->Light._NeedEyeCoords ?
953 GLbitfield mask = ctx->Light._EnabledLights;
956 struct gl_light *light = &ctx->Light.Light[i];
960 ctx->Light._NeedVertices =
962 ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR ||
963 ctx->Light.Model.LocalViewer);
965 ctx->Light._NeedEyeCoords = ((flags & LIGHT_POSITIONAL) ||
966 ctx->Light.Model.LocalViewer);
972 if (ctx->Light._NeedVertices)
973 ctx->Light._NeedEyeCoords = GL_TRUE;
975 return old_need_eye_coords != ctx->Light._NeedEyeCoords ?
983 * Light.Material here, we can get away without flushing
987 if (ctx->Light.Model.TwoSide)
1021 if (!ctx->Light.Enabled)
1031 GLbitfield mask = ctx->Light._EnabledLights;
1034 struct gl_light *light = &ctx->Light.Light[i];
1035 struct gl_light_uniforms *lu = &ctx->Light.LightSource[i];
1052 if (!ctx->Light.Model.LocalViewer) {
1136 ctx->Light._NeedEyeCoords)
1139 if (ctx->Light.Enabled &&
1254 ctx->Light._EnabledLights = 0;
1256 init_light( &ctx->Light.Light[i], &ctx->Light.LightSource[i], i );
1259 init_lightmodel( &ctx->Light.Model );
1260 init_material( &ctx->Light.Material );
1261 ctx->Light.ShadeModel = GL_SMOOTH;
1262 ctx->Light.ProvokingVertex = GL_LAST_VERTEX_CONVENTION_EXT;
1263 ctx->Light.Enabled = GL_FALSE;
1264 ctx->Light.ColorMaterialFace = GL_FRONT_AND_BACK;
1265 ctx->Light.ColorMaterialMode = GL_AMBIENT_AND_DIFFUSE;
1266 ctx->Light._ColorMaterialBitmask = _mesa_material_bitmask( ctx,
1271 ctx->Light.ColorMaterialEnabled = GL_FALSE;
1272 ctx->Light.ClampVertexColor = ctx->API == API_OPENGL_COMPAT;
1273 ctx->Light._ClampVertexColor = ctx->API == API_OPENGL_COMPAT;
1276 ctx->Light._NeedEyeCoords = GL_FALSE;