mesa: rename some gl_light fields to be clearer
EyeDirection -> SpotDirection _NormDirection -> _NormSpotDirection
This commit is contained in:
@@ -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,
|
||||
|
||||
+13
-13
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user