Only clamp color if tsp.ColorClamp is set. Thanks p1pkin
This commit is contained in:
parent
fe4c310306
commit
2a8591798f
|
@ -171,6 +171,8 @@ __forceinline
|
||||||
else
|
else
|
||||||
ShaderUniforms.trilinear_alpha = 1.0;
|
ShaderUniforms.trilinear_alpha = 1.0;
|
||||||
|
|
||||||
|
bool color_clamp = gp->tsp.ColorClamp && (pvrrc.fog_clamp_min != 0 || pvrrc.fog_clamp_max != 0xffffffff);
|
||||||
|
|
||||||
CurrentShader = &gl.pogram_table[
|
CurrentShader = &gl.pogram_table[
|
||||||
GetProgramID(Type == ListType_Punch_Through ? 1 : 0,
|
GetProgramID(Type == ListType_Punch_Through ? 1 : 0,
|
||||||
SetTileClip(gp->tileclip, false) + 1,
|
SetTileClip(gp->tileclip, false) + 1,
|
||||||
|
@ -182,7 +184,7 @@ __forceinline
|
||||||
gp->tsp.FogCtrl,
|
gp->tsp.FogCtrl,
|
||||||
gp->pcw.Gouraud,
|
gp->pcw.Gouraud,
|
||||||
gp->tcw.PixelFmt == PixelBumpMap,
|
gp->tcw.PixelFmt == PixelBumpMap,
|
||||||
pvrrc.fog_clamp_min != 0 || pvrrc.fog_clamp_max != 0xffffffff)];
|
color_clamp)];
|
||||||
|
|
||||||
if (CurrentShader->program == -1)
|
if (CurrentShader->program == -1)
|
||||||
CompilePipelineShader(CurrentShader);
|
CompilePipelineShader(CurrentShader);
|
||||||
|
|
|
@ -330,21 +330,24 @@ void main() \n\
|
||||||
#if pp_Offset==1 && pp_BumpMap == 0 \n\
|
#if pp_Offset==1 && pp_BumpMap == 0 \n\
|
||||||
{ \n\
|
{ \n\
|
||||||
color.rgb+=vtx_offs.rgb; \n\
|
color.rgb+=vtx_offs.rgb; \n\
|
||||||
if (pp_FogCtrl==1) \n\
|
|
||||||
{ \n\
|
|
||||||
color = fog_clamp(color); \n\
|
|
||||||
color.rgb=mix(color.rgb,sp_FOG_COL_VERT.rgb,vtx_offs.a); \n\
|
|
||||||
} \n\
|
|
||||||
} \n\
|
} \n\
|
||||||
#endif\n\
|
#endif\n\
|
||||||
} \n\
|
} \n\
|
||||||
#endif\n\
|
#endif\n\
|
||||||
#if pp_FogCtrl==0 \n\
|
\n\
|
||||||
|
color = fog_clamp(color); \n\
|
||||||
|
\n\
|
||||||
|
#if pp_FogCtrl == 0 \n\
|
||||||
{ \n\
|
{ \n\
|
||||||
color = fog_clamp(color); \n\
|
|
||||||
color.rgb=mix(color.rgb,sp_FOG_COL_RAM.rgb,fog_mode2(gl_FragCoord.w)); \n\
|
color.rgb=mix(color.rgb,sp_FOG_COL_RAM.rgb,fog_mode2(gl_FragCoord.w)); \n\
|
||||||
} \n\
|
} \n\
|
||||||
#endif\n\
|
#endif\n\
|
||||||
|
#if pp_FogCtrl == 1 && pp_Offset==1 && pp_BumpMap == 0 \n\
|
||||||
|
{ \n\
|
||||||
|
color.rgb=mix(color.rgb,sp_FOG_COL_VERT.rgb,vtx_offs.a); \n\
|
||||||
|
} \n\
|
||||||
|
#endif\n\
|
||||||
|
\n\
|
||||||
color *= trilinear_alpha; \n\
|
color *= trilinear_alpha; \n\
|
||||||
\n\
|
\n\
|
||||||
#if cp_AlphaTest == 1 \n\
|
#if cp_AlphaTest == 1 \n\
|
||||||
|
|
Loading…
Reference in New Issue