@@ -222,7 +222,10 @@ BEGIN_VS_SHADER( SDK_Teeth_DX9, "Help for SDK_Teeth_DX9" )
222222
223223 float vEyePos_SpecExponent[4 ];
224224 pShaderAPI->GetWorldSpaceCameraPosition ( vEyePos_SpecExponent );
225- vEyePos_SpecExponent[3 ] = 0 .0f ;
225+ if (g_pHardwareConfig->HasFastVertexTextures () || g_pHardwareConfig->SupportsPixelShaders_2_b ())
226+ vEyePos_SpecExponent[3 ] = params[PHONGEXPONENT]->GetFloatValue ();
227+ else
228+ vEyePos_SpecExponent[3 ] = 0 .0f ;
226229 pShaderAPI->SetPixelShaderConstant ( PSREG_EYEPOS_SPEC_EXPONENT, vEyePos_SpecExponent, 1 );
227230
228231 if ( hasBump )
@@ -244,11 +247,6 @@ BEGIN_VS_SHADER( SDK_Teeth_DX9, "Help for SDK_Teeth_DX9" )
244247 // ps_2_b version which does Phong
245248 if ( g_pHardwareConfig->SupportsPixelShaders_2_b () )
246249 {
247- Vector4D vSpecExponent;
248- vSpecExponent[3 ] = params[PHONGEXPONENT]->GetFloatValue ();
249-
250- pShaderAPI->SetPixelShaderConstant ( PSREG_EYEPOS_SPEC_EXPONENT, vSpecExponent.Base (), 1 );
251-
252250 DECLARE_DYNAMIC_PIXEL_SHADER ( sdk_teeth_bump_ps20b );
253251 SET_DYNAMIC_PIXEL_SHADER_COMBO ( PIXELFOGTYPE, pShaderAPI->GetPixelFogCombo () );
254252 SET_DYNAMIC_PIXEL_SHADER_COMBO ( NUM_LIGHTS, lightState.m_nNumLights );
@@ -278,10 +276,6 @@ BEGIN_VS_SHADER( SDK_Teeth_DX9, "Help for SDK_Teeth_DX9" )
278276 SET_DYNAMIC_VERTEX_SHADER_COMBO ( COMPRESSED_VERTS, (int )vertexCompression );
279277 SET_DYNAMIC_VERTEX_SHADER ( sdk_teeth_bump_vs30 );
280278
281- Vector4D vSpecExponent;
282- vSpecExponent[3 ] = params[PHONGEXPONENT]->GetFloatValue ();
283- pShaderAPI->SetPixelShaderConstant ( PSREG_EYEPOS_SPEC_EXPONENT, vSpecExponent.Base (), 1 );
284-
285279 DECLARE_DYNAMIC_PIXEL_SHADER ( sdk_teeth_bump_ps30 );
286280 SET_DYNAMIC_PIXEL_SHADER_COMBO ( PIXELFOGTYPE, pShaderAPI->GetPixelFogCombo () );
287281 SET_DYNAMIC_PIXEL_SHADER_COMBO ( NUM_LIGHTS, lightState.m_nNumLights );
0 commit comments