27 lines
661 B
Plaintext
27 lines
661 B
Plaintext
|
//======= Copyright <20> 1996-2006, Valve Corporation, All rights reserved. ======
|
|||
|
|
|||
|
#include "common_ps_fxc.h"
|
|||
|
|
|||
|
sampler TexSampler : register( s0 );
|
|||
|
|
|||
|
float g_flDimValue : register( c0 );
|
|||
|
|
|||
|
struct PS_INPUT
|
|||
|
{
|
|||
|
HALF2 baseTexCoord : TEXCOORD0; // Base texture coordinate
|
|||
|
};
|
|||
|
|
|||
|
float4 main( PS_INPUT i ) : COLOR
|
|||
|
{
|
|||
|
float4 result = tex2D( TexSampler, i.baseTexCoord );
|
|||
|
|
|||
|
// Scale by dim value before computing luminance below
|
|||
|
result.rgb *= saturate( g_flDimValue );
|
|||
|
|
|||
|
// Store max color component in alpha for alpha blend of one/invSrcAlpha
|
|||
|
float flLuminance = max( result.r, max( result.g, result.b ) );
|
|||
|
result.a = pow( flLuminance, 0.8f );
|
|||
|
|
|||
|
return result.rgba;
|
|||
|
}
|