diff options
Diffstat (limited to 'sp/src/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedenvmap.psh')
| -rw-r--r-- | sp/src/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedenvmap.psh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sp/src/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedenvmap.psh b/sp/src/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedenvmap.psh new file mode 100644 index 00000000..44dee8d4 --- /dev/null +++ b/sp/src/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedenvmap.psh @@ -0,0 +1,28 @@ +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
+tex t1
+tex t3
+
+mul r0.rgb, t0, c3 + ; base times modulation
+mov r0.a, c3.a ; use modulation alpha (don't use texture alpha)
+
+mul_x2 r0.rgb, r0, t3 ; detail texture
+
+mad r0.rgb, t1, c2, r0 ; + 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
+
|