36 lines
761 B
Plaintext
36 lines
761 B
Plaintext
{
|
|
parms {
|
|
stageSort sortTrans
|
|
//*x Specular Scale
|
|
//*z Step Threshold
|
|
//*w Step Value
|
|
}
|
|
state {
|
|
blend GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
|
depthmask
|
|
twosided
|
|
}
|
|
hlsl_vp {
|
|
#include "particle_vp.inc"
|
|
|
|
result.color = vertColor;
|
|
result.color.xyz *= $exposure.xyz;
|
|
|
|
result.texcoord3 = vertex.normal;
|
|
}
|
|
hlsl_fp {
|
|
#include "particle_fp.inc"
|
|
|
|
half3 final = color.x * fragment.color.xyz;
|
|
|
|
final += color.z * fragment.texcoord3.x * 2; //add spec to base color;
|
|
|
|
// apply global fog
|
|
final.xyz = lerp( $fogColor.xyz, final.xyz, fogVal );
|
|
|
|
float alphaStep = smoothstep( fragment.texcoord3.w, fragment.texcoord3.w + fragment.texcoord3.z, color.w );
|
|
|
|
result.color.xyz = final;
|
|
result.color.w = alphaStep * fragment.color.w;
|
|
}
|
|
} |