diff options
Diffstat (limited to 'sp/src/materialsystem/stdshaders/LightmappedGeneric_SSBumpmappedLightmap.psh')
| -rw-r--r-- | sp/src/materialsystem/stdshaders/LightmappedGeneric_SSBumpmappedLightmap.psh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sp/src/materialsystem/stdshaders/LightmappedGeneric_SSBumpmappedLightmap.psh b/sp/src/materialsystem/stdshaders/LightmappedGeneric_SSBumpmappedLightmap.psh new file mode 100644 index 00000000..bdcb7783 --- /dev/null +++ b/sp/src/materialsystem/stdshaders/LightmappedGeneric_SSBumpmappedLightmap.psh @@ -0,0 +1,34 @@ +ps.1.1
+def c0, 1,0,0,0
+def c1, 0,1,0,0
+def c2, 0,0,1,0
+
+;------------------------------------------------------------------------------
+; Computes the diffuse component of lighting using lightmap + bumpmap
+; t0 - Normalmap
+; t1 - Lightmap1
+; t2 - Lightmap2
+; t3 - Lightmap3
+;
+; The texture coordinates need to be defined as follows:
+; tc0 - Normalmap and lightmap texture coordinates
+;------------------------------------------------------------------------------
+
+; Get the 3-vector from the normal map
+tex t0
+
+; Sample the lightmaps
+tex t1
+tex t2
+tex t3
+
+; output = lightmapColor[0] * n.r + lightmapColor[1] * n.g + lightmapColor[2] * n.b
+
+
+mov r0, t0
+dp3 r1, t0, c0
+mul r0.rgb, r1, t1
+dp3 r1, t0, c1
+mad r0.rgb, r1, t2, r0
+dp3 r1, t0, c2
+mad r0.rgb, r1, t3, r0
|