EyeDirection -> SpotDirection _NormDirection -> _NormSpotDirectiontags/mesa_7_5_rc1
| @@ -1210,7 +1210,7 @@ void r200UpdateMaterial( GLcontext *ctx ) | |||
| * _VP_inf_norm | |||
| * _h_inf_norm | |||
| * _Position | |||
| * _NormDirection | |||
| * _NormSpotDirection | |||
| * _ModelViewInvScale | |||
| * _NeedEyeCoords | |||
| * _EyeZDir | |||
| @@ -1267,9 +1267,9 @@ static void update_light( GLcontext *ctx ) | |||
| fcmd[LIT_DIRECTION_W] = 0; | |||
| } else { | |||
| COPY_4V( &fcmd[LIT_POSITION_X], l->_Position ); | |||
| fcmd[LIT_DIRECTION_X] = -l->_NormDirection[0]; | |||
| fcmd[LIT_DIRECTION_Y] = -l->_NormDirection[1]; | |||
| fcmd[LIT_DIRECTION_Z] = -l->_NormDirection[2]; | |||
| fcmd[LIT_DIRECTION_X] = -l->_NormSpotDirection[0]; | |||
| fcmd[LIT_DIRECTION_Y] = -l->_NormSpotDirection[1]; | |||
| fcmd[LIT_DIRECTION_Z] = -l->_NormSpotDirection[2]; | |||
| fcmd[LIT_DIRECTION_W] = 0; | |||
| } | |||
| @@ -246,7 +246,7 @@ void radeonUpdateMaterial( GLcontext *ctx ) | |||
| * _VP_inf_norm | |||
| * _h_inf_norm | |||
| * _Position | |||
| * _NormDirection | |||
| * _NormSpotDirection | |||
| * _ModelViewInvScale | |||
| * _NeedEyeCoords | |||
| * _EyeZDir | |||
| @@ -308,9 +308,9 @@ void radeonUpdateLighting( GLcontext *ctx ) | |||
| fcmd[LIT_DIRECTION_W] = 0; | |||
| } else { | |||
| COPY_4V( &fcmd[LIT_POSITION_X], l->_Position ); | |||
| fcmd[LIT_DIRECTION_X] = -l->_NormDirection[0]; | |||
| fcmd[LIT_DIRECTION_Y] = -l->_NormDirection[1]; | |||
| fcmd[LIT_DIRECTION_Z] = -l->_NormDirection[2]; | |||
| fcmd[LIT_DIRECTION_X] = -l->_NormSpotDirection[0]; | |||
| fcmd[LIT_DIRECTION_Y] = -l->_NormSpotDirection[1]; | |||
| fcmd[LIT_DIRECTION_Z] = -l->_NormSpotDirection[2]; | |||
| fcmd[LIT_DIRECTION_W] = 0; | |||
| } | |||
| @@ -967,7 +967,7 @@ void radeonUpdateMaterial( GLcontext *ctx ) | |||
| * _VP_inf_norm | |||
| * _h_inf_norm | |||
| * _Position | |||
| * _NormDirection | |||
| * _NormSpotDirection | |||
| * _ModelViewInvScale | |||
| * _NeedEyeCoords | |||
| * _EyeZDir | |||
| @@ -1028,9 +1028,9 @@ static void update_light( GLcontext *ctx ) | |||
| fcmd[LIT_DIRECTION_W] = 0; | |||
| } else { | |||
| COPY_4V( &fcmd[LIT_POSITION_X], l->_Position ); | |||
| fcmd[LIT_DIRECTION_X] = -l->_NormDirection[0]; | |||
| fcmd[LIT_DIRECTION_Y] = -l->_NormDirection[1]; | |||
| fcmd[LIT_DIRECTION_Z] = -l->_NormDirection[2]; | |||
| fcmd[LIT_DIRECTION_X] = -l->_NormSpotDirection[0]; | |||
| fcmd[LIT_DIRECTION_Y] = -l->_NormSpotDirection[1]; | |||
| fcmd[LIT_DIRECTION_Z] = -l->_NormSpotDirection[2]; | |||
| fcmd[LIT_DIRECTION_W] = 0; | |||
| } | |||
| @@ -1104,7 +1104,7 @@ _mesa_PopAttrib(void) | |||
| _mesa_light(ctx, i, GL_DIFFUSE, l->Diffuse); | |||
| _mesa_light(ctx, i, GL_SPECULAR, l->Specular ); | |||
| _mesa_light(ctx, i, GL_POSITION, l->EyePosition); | |||
| _mesa_light(ctx, i, GL_SPOT_DIRECTION, l->EyeDirection); | |||
| _mesa_light(ctx, i, GL_SPOT_DIRECTION, l->SpotDirection); | |||
| _mesa_light(ctx, i, GL_SPOT_EXPONENT, &l->SpotExponent); | |||
| _mesa_light(ctx, i, GL_SPOT_CUTOFF, &l->SpotCutoff); | |||
| _mesa_light(ctx, i, GL_CONSTANT_ATTENUATION, | |||
| @@ -110,10 +110,10 @@ _mesa_light(GLcontext *ctx, GLuint lnum, GLenum pname, const GLfloat *params) | |||
| break; | |||
| case GL_SPOT_DIRECTION: | |||
| /* NOTE: Direction already transformed by inverse ModelView! */ | |||
| if (TEST_EQ_3V(light->EyeDirection, params)) | |||
| if (TEST_EQ_3V(light->SpotDirection, params)) | |||
| return; | |||
| FLUSH_VERTICES(ctx, _NEW_LIGHT); | |||
| COPY_3V(light->EyeDirection, params); | |||
| COPY_3V(light->SpotDirection, params); | |||
| break; | |||
| case GL_SPOT_EXPONENT: | |||
| ASSERT(params[0] >= 0.0); | |||
| @@ -325,7 +325,7 @@ _mesa_GetLightfv( GLenum light, GLenum pname, GLfloat *params ) | |||
| COPY_4V( params, ctx->Light.Light[l].EyePosition ); | |||
| break; | |||
| case GL_SPOT_DIRECTION: | |||
| COPY_3V( params, ctx->Light.Light[l].EyeDirection ); | |||
| COPY_3V( params, ctx->Light.Light[l].SpotDirection ); | |||
| break; | |||
| case GL_SPOT_EXPONENT: | |||
| params[0] = ctx->Light.Light[l].SpotExponent; | |||
| @@ -387,9 +387,9 @@ _mesa_GetLightiv( GLenum light, GLenum pname, GLint *params ) | |||
| params[3] = (GLint) ctx->Light.Light[l].EyePosition[3]; | |||
| break; | |||
| case GL_SPOT_DIRECTION: | |||
| params[0] = (GLint) ctx->Light.Light[l].EyeDirection[0]; | |||
| params[1] = (GLint) ctx->Light.Light[l].EyeDirection[1]; | |||
| params[2] = (GLint) ctx->Light.Light[l].EyeDirection[2]; | |||
| params[0] = (GLint) ctx->Light.Light[l].SpotDirection[0]; | |||
| params[1] = (GLint) ctx->Light.Light[l].SpotDirection[1]; | |||
| params[2] = (GLint) ctx->Light.Light[l].SpotDirection[2]; | |||
| break; | |||
| case GL_SPOT_EXPONENT: | |||
| params[0] = (GLint) ctx->Light.Light[l].SpotExponent; | |||
| @@ -1139,23 +1139,23 @@ compute_light_positions( GLcontext *ctx ) | |||
| /* Note: we normalize the spot direction now */ | |||
| if (ctx->_NeedEyeCoords) { | |||
| COPY_3V( light->_NormDirection, light->EyeDirection ); | |||
| NORMALIZE_3FV( light->_NormDirection ); | |||
| COPY_3V( light->_NormSpotDirection, light->SpotDirection ); | |||
| NORMALIZE_3FV( light->_NormSpotDirection ); | |||
| } | |||
| else { | |||
| GLfloat spotDir[3]; | |||
| COPY_3V(spotDir, light->EyeDirection); | |||
| COPY_3V(spotDir, light->SpotDirection); | |||
| NORMALIZE_3FV(spotDir); | |||
| TRANSFORM_NORMAL( light->_NormDirection, | |||
| TRANSFORM_NORMAL( light->_NormSpotDirection, | |||
| spotDir, | |||
| ctx->ModelviewMatrixStack.Top->m); | |||
| } | |||
| NORMALIZE_3FV( light->_NormDirection ); | |||
| NORMALIZE_3FV( light->_NormSpotDirection ); | |||
| if (!(light->_Flags & LIGHT_POSITIONAL)) { | |||
| GLfloat PV_dot_dir = - DOT3(light->_VP_inf_norm, | |||
| light->_NormDirection); | |||
| light->_NormSpotDirection); | |||
| if (PV_dot_dir > light->_CosCutoff) { | |||
| double x = PV_dot_dir * (EXP_TABLE_SIZE-1); | |||
| @@ -1279,7 +1279,7 @@ init_light( struct gl_light *l, GLuint n ) | |||
| ASSIGN_4V( l->Specular, 0.0, 0.0, 0.0, 1.0 ); | |||
| } | |||
| ASSIGN_4V( l->EyePosition, 0.0, 0.0, 1.0, 0.0 ); | |||
| ASSIGN_3V( l->EyeDirection, 0.0, 0.0, -1.0 ); | |||
| ASSIGN_3V( l->SpotDirection, 0.0, 0.0, -1.0 ); | |||
| l->SpotExponent = 0.0; | |||
| _mesa_invalidate_spot_exp_table( l ); | |||
| l->SpotCutoff = 180.0; | |||
| @@ -460,7 +460,7 @@ struct gl_light | |||
| GLfloat Diffuse[4]; /**< diffuse color */ | |||
| GLfloat Specular[4]; /**< specular color */ | |||
| GLfloat EyePosition[4]; /**< position in eye coordinates */ | |||
| GLfloat EyeDirection[4]; /**< spotlight dir in eye coordinates */ | |||
| GLfloat SpotDirection[4]; /**< spotlight direction in eye coordinates */ | |||
| GLfloat SpotExponent; | |||
| GLfloat SpotCutoff; /**< in degrees */ | |||
| GLfloat _CosCutoffNeg; /**< = cos(SpotCutoff) */ | |||
| @@ -479,7 +479,7 @@ struct gl_light | |||
| GLfloat _Position[4]; /**< position in eye/obj coordinates */ | |||
| GLfloat _VP_inf_norm[3]; /**< Norm direction to infinite light */ | |||
| GLfloat _h_inf_norm[3]; /**< Norm( _VP_inf_norm + <0,0,1> ) */ | |||
| GLfloat _NormDirection[4]; /**< normalized spotlight direction */ | |||
| GLfloat _NormSpotDirection[4]; /**< normalized spotlight direction */ | |||
| GLfloat _VP_inf_spot_attenuation; | |||
| GLfloat _SpotExpTable[EXP_TABLE_SIZE][2]; /**< to replace a pow() call */ | |||
| @@ -112,7 +112,7 @@ _mesa_fetch_state(GLcontext *ctx, const gl_state_index state[], | |||
| value[3] = ctx->Light.Light[ln].SpotExponent; | |||
| return; | |||
| case STATE_SPOT_DIRECTION: | |||
| COPY_3V(value, ctx->Light.Light[ln].EyeDirection); | |||
| COPY_3V(value, ctx->Light.Light[ln].SpotDirection); | |||
| value[3] = ctx->Light.Light[ln]._CosCutoff; | |||
| return; | |||
| case STATE_SPOT_CUTOFF: | |||
| @@ -449,7 +449,7 @@ _mesa_fetch_state(GLcontext *ctx, const gl_state_index state[], | |||
| /* here, state[2] is the light number */ | |||
| /* pre-normalize spot dir */ | |||
| const GLuint ln = (GLuint) state[2]; | |||
| COPY_3V(value, ctx->Light.Light[ln]._NormDirection); | |||
| COPY_3V(value, ctx->Light.Light[ln]._NormSpotDirection); | |||
| value[3] = ctx->Light.Light[ln]._CosCutoff; | |||
| } | |||
| return; | |||
| @@ -167,7 +167,7 @@ shade_rastpos(GLcontext *ctx, | |||
| light->QuadraticAttenuation)); | |||
| if (light->_Flags & LIGHT_SPOT) { | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormDirection); | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormSpotDirection); | |||
| if (PV_dot_dir<light->_CosCutoff) { | |||
| continue; | |||
| @@ -141,7 +141,7 @@ static void TAG(light_rgba_spec)( GLcontext *ctx, | |||
| /* spotlight attenuation */ | |||
| if (light->_Flags & LIGHT_SPOT) { | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormDirection); | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormSpotDirection); | |||
| if (PV_dot_dir<light->_CosCutoff) { | |||
| continue; /* this light makes no contribution */ | |||
| @@ -325,7 +325,7 @@ static void TAG(light_rgba)( GLcontext *ctx, | |||
| /* spotlight attenuation */ | |||
| if (light->_Flags & LIGHT_SPOT) { | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormDirection); | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormSpotDirection); | |||
| if (PV_dot_dir<light->_CosCutoff) { | |||
| continue; /* this light makes no contribution */ | |||
| @@ -721,7 +721,7 @@ static void TAG(light_ci)( GLcontext *ctx, | |||
| /* spotlight attenuation */ | |||
| if (light->_Flags & LIGHT_SPOT) { | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormDirection); | |||
| GLfloat PV_dot_dir = - DOT3(VP, light->_NormSpotDirection); | |||
| if (PV_dot_dir < light->_CosCutoff) { | |||
| continue; /* this light makes no contribution */ | |||
| } | |||
| @@ -197,7 +197,7 @@ int main( int argc, char **argv ) | |||
| OFFSET( "LIGHT_DIFFUSE ", struct gl_light, Diffuse ); | |||
| OFFSET( "LIGHT_SPECULAR ", struct gl_light, Specular ); | |||
| OFFSET( "LIGHT_EYE_POSITION ", struct gl_light, EyePosition ); | |||
| OFFSET( "LIGHT_EYE_DIRECTION ", struct gl_light, EyeDirection ); | |||
| OFFSET( "LIGHT_SPOT_DIRECTION ", struct gl_light, SpotDirection ); | |||
| OFFSET( "LIGHT_SPOT_EXPONENT ", struct gl_light, SpotExponent ); | |||
| OFFSET( "LIGHT_SPOT_CUTOFF ", struct gl_light, SpotCutoff ); | |||
| OFFSET( "LIGHT_COS_CUTOFF ", struct gl_light, _CosCutoff ); | |||
| @@ -211,7 +211,7 @@ int main( int argc, char **argv ) | |||
| OFFSET( "LIGHT_POSITION ", struct gl_light, _Position ); | |||
| OFFSET( "LIGHT_VP_INF_NORM ", struct gl_light, _VP_inf_norm ); | |||
| OFFSET( "LIGHT_H_INF_NORM ", struct gl_light, _h_inf_norm ); | |||
| OFFSET( "LIGHT_NORM_DIRECTION ", struct gl_light, _NormDirection ); | |||
| OFFSET( "LIGHT_NORM_DIRECTION ", struct gl_light, _NormSpotDirection ); | |||
| OFFSET( "LIGHT_VP_INF_SPOT_ATTEN ", struct gl_light, _VP_inf_spot_attenuation ); | |||
| printf( "\n" ); | |||
| OFFSET( "LIGHT_SPOT_EXP_TABLE ", struct gl_light, _SpotExpTable ); | |||