35 lines
783 B
Plaintext
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;
|
|
}
|
|
} |