aboutsummaryrefslogtreecommitdiff
path: root/mp/src/materialsystem/stdshaders/vertexlitgeneric_detailselfilluminatedmaskedenvmap.psh
blob: 24396a07faefa4883f666a6bf2db829ba8e4c1ee (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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