ps.1.1 def c1, 1.0, 0.8, 0.0, 1.0 def c2, 1.0, 1.0, 1.0, 1.0 tex t0 // fetch base texture tex t1 // fetch normal map texm3x2pad t2, t1_bx2 // u = ( t1=N ) dot ( t2=L ) texm3x2tex t3, t1_bx2 // v = ( t1=N ) dot ( t3=H ) // fetch texture 4 at (u,v) mov r1, t3 // RGBA diffuse,alpha into r1 mul r0, r1, t0 // Diffuse * base texture //mov r0, t0 mul r1, t3.a, t3.a mul r1, t1.a, r1 // gloss map Àû¿ë mad r0, r1, c2, r0 // spec * spec + diffuse //////////// //tex t0 //tex t1 // D3DTA_TEXTURE D3DTA_DIFFUSE D3DTOP_DOTPRODUCT3 //dp3 r0, t1_bx2, v0_bx2 // D3DTA_CURRENT D3DTA_TEXTURE D3DTOP_MODULATE //mul r0, r0, t0