diff options
Diffstat (limited to 'materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedmaskedenvmap.psh')
| -rw-r--r-- | materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedmaskedenvmap.psh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedmaskedenvmap.psh b/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedmaskedenvmap.psh new file mode 100644 index 0000000..24396a0 --- /dev/null +++ b/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedmaskedenvmap.psh @@ -0,0 +1,29 @@ +ps.1.1 + +;------------------------------------------------------------------------------ +; Draw a texture . . woo hoo! +; t0 - texture +; +; The texture coordinates need to be defined as follows: +; tc0 - texcoords +;------------------------------------------------------------------------------ + +; Get the color from the texture +tex t0 ; base +tex t1 ; env map +tex t2 ; mask +tex t3 ; Detail + +mul r0.rgb, t0, c3 + ; base times modulation +mul r0.a, c3.a, t2.a ; alpha = mod alpha * mask alpha + +mul_x2 r0.rgb, r0, t3 ; detail texture + +mul r1, t2, t1 ; envmapmask * envmap +mad r0.rgb, r1, c2, r0 ; + envmapmask * envmap * envmaptint (color only) + +mul r0.rgb, v0, r0 ; Apply lighting +mul_x2 r0.rgb, c0, r0 ; * 2 * (overbrightFactor/2) + +mul r1, t0, c1 ; Self illum * tint +lrp r0.rgb, t0.a, r1, r0 ; Blend between self-illum + base * lighting |