28 lines
783 B
Plaintext
28 lines
783 B
Plaintext
|
ps.1.1
|
||
|
|
||
|
;------------------------------------------------------------------------------
|
||
|
; See the vertex shader for info
|
||
|
;
|
||
|
; This shader takes:
|
||
|
; t0 = normal map
|
||
|
; t1 = base texture
|
||
|
; v0 = directional light color
|
||
|
; t2 = directional light direction (biased into 0-1)
|
||
|
; c0 = percent of dirlight to add as ambient
|
||
|
;
|
||
|
; Output:
|
||
|
; (t0 dot t1) * v0
|
||
|
;------------------------------------------------------------------------------
|
||
|
|
||
|
tex t0 ; Get the 3-vector from the normal map
|
||
|
tex t1 ; Interpret tcoord t1 as color data.
|
||
|
texcoord t2
|
||
|
|
||
|
dp3 r1, t0_bx2, t2_bx2 ; r1 = normalMap dot dirLightDir
|
||
|
add r0, r1, c0 ; + 0.5
|
||
|
|
||
|
mul r1, v0, r0 ; scale the dot product by the dirlight's actual color
|
||
|
mul r0.rgb, r1, t1 + ; scale by the texture color
|
||
|
|
||
|
mul r0.a, t1.a, v0.a
|