0001: ; diffuse.psh
0002: 
0003: ps.1.1
0004: 
0005: def c0, 0.5f, 0.5f, 0.5f, 0.5f
0006: 
0007: tex t0
0008: tex t1
0009: tex t2
0010: tex t3
0011: 
0012: mul t0, t0, v0          ; (N・L1)*tex(L1)
0013: mul t1, t1, v0.a        ; (N・L2)*tex(L2)
0014: mul t2, t2, v1          ; (N・L3)*tex(L3)
0015: mul t3, t3, v1.a        ; (N・L4)*tex(L4)
0016: 
0017: lrp t0, c0, t0, t1      
0018: lrp t2, c0, t2, t3      
0019: 
0020: ;add t0, t0, t1
0021: ;add t2, t2, t3
0022: 
0023: lrp r0.rgb, c0, t0, t2  ; r0.rgb = ((N・L1)*tex(L1) + (N・L2)*tex(L2)
0024:                         ;          +(N・L3)*tex(L3) + (N・L4)*tex(L4))/4
0025: +mov r0.a, c1.a         ; r0.a = c1.a = 1/n
0026: