Skip to content

Commit 1f4f66f

Browse files
authored
Merge pull request #186 from Petercov/mapbase-feature/fix-teeth-shader
Fix for brightly glowing teeth
2 parents 1d1caaf + 655212e commit 1f4f66f

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

sp/src/materialsystem/stdshaders/teeth.cpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)