Files
2026-08-09 04:23:10 -07:00

35 lines
783 B
Plaintext

{
parms {
}
state {
depthfunc GL_ALWAYS
depthmask
twosided
}
hlsl_vp {
result.position = vertex.position;
}
hlsl_fp {
// convert from 0,1,2,3,... coordinates to 0.0 - 1.0
float2 texcoord = screenPosToTexcoord( fragment.position.xy, $positionToViewTexture );
half4 glareTex = h4tex2D( $glareMap, texcoord.xy );
// scale for general glare brightness
glareTex *= $glareScale.x;
// color normalize and get magnitude
glareTex.w = max( glareTex.x, glareTex.y );
glareTex.w = max( glareTex.w, glareTex.z );
// don't divide by zero
glareTex.w = max( glareTex.w, 0.0001 );
glareTex.xyz = glareTex.xyz / glareTex.w;
// color clamp
glareTex.w = min( glareTex.w, $glareMax.x );
result.hcolor = glareTex * glareTex.w;
result.hcolor.w = 1.0;
}
}