summaryrefslogtreecommitdiff
path: root/materialsystem/stdshaders/LightmappedGeneric_SelfIlluminatedEnvMapV2.psh
diff options
context:
space:
mode:
Diffstat (limited to 'materialsystem/stdshaders/LightmappedGeneric_SelfIlluminatedEnvMapV2.psh')
-rw-r--r--materialsystem/stdshaders/LightmappedGeneric_SelfIlluminatedEnvMapV2.psh27
1 files changed, 27 insertions, 0 deletions
diff --git a/materialsystem/stdshaders/LightmappedGeneric_SelfIlluminatedEnvMapV2.psh b/materialsystem/stdshaders/LightmappedGeneric_SelfIlluminatedEnvMapV2.psh
new file mode 100644
index 0000000..0121e92
--- /dev/null
+++ b/materialsystem/stdshaders/LightmappedGeneric_SelfIlluminatedEnvMapV2.psh
@@ -0,0 +1,27 @@
+ps.1.1
+
+;------------------------------------------------------------------------------
+; Draw a texture . . woo hoo!
+; t0 - texture
+;
+; The texture coordinates need to be defined as follows:
+; tc0 - texcoords
+; c1 - self-illum tint
+; c2 - envmap tint
+;------------------------------------------------------------------------------
+
+tex t0
+tex t1
+tex t2
+
+mul r0.rgb, t0, v0 + ; base times vertex color (no alpha)
+mov r0.a, v0.a ; Grab alpha from vertex color
+
+mul r1, t0.a, t0 ; Self illum
+mad r1, c1, r1, t1 ; Self illum * tint + lightmap
+
+mul r0.rgb, r1, r0 ; fold in lighting (color only)
+mul_x2 r0.rgb, c0, r0 ; * 2 * (overbrightFactor/2)
+
+mad r0.rgb, t2, c2, r0 ; + envmap * envmaptint (color only)
+