technique hair_shader_aniso_fixed
{
pass P0
{
vertexshader =
asm {
preshader
lt c20.x, (0), c4.x
lt c21.x, (1), c4.x
lt c22.x, (2), c4.x
lt c23.x, (3), c4.x
mov c26.x, c0.x
mov c27.x, c1.x
mov c28.x, c2.x
mov c29.x, c3.x
vs_2_0
def c47, 0, 1, 0.899999976, 0.200000003
dcl_position v0
dcl_normal v1
dcl_binormal v2
dcl_texcoord v3
dcl_color v4
mul r0, v0.y, c31
mad r0, c30, v0.x, r0
mad r0, c32, v0.z, r0
mad oPos, c33, v0.w, r0
mul r0.xyz, v0.y, c39
mad r0.xyz, c38, v0.x, r0
mad r0.xyz, c40, v0.z, r0
mad r0.xyz, c41, v0.w, r0
mova a0.w, c27.x
add r1.xyz, -r0, c0[a0.w]
dp3 r0.w, r1, r1
rsq r1.w, r0.w
rcp r0.w, r0.w
mul r1.xyz, r1.w, r1
mul r2.xyz, v1.y, c39
mad r2.xyz, c38, v1.x, r2
mad r2.xyz, c40, v1.z, r2
nrm r3.xyz, r2
dp3 r1.x, r3, r1
add r1.y, r1.x, c47.z
mul r1.y, r1.y, c47.w
max r1.x, r1.x, r1.y
mova a0.w, c27.x
mul r1, r1.x, c10[a0.w]
mul r1, r0.w, r1
mul r1, r1, c21.x
mova a0.w, c26.x
add r2.xyz, -r0, c0[a0.w]
dp3 r0.w, r2, r2
rsq r2.w, r0.w
rcp r0.w, r0.w
mul r2.xyz, r2.w, r2
dp3 r2.x, r3, r2
add r2.y, r2.x, c47.z
mul r2.y, r2.y, c47.w
max r2.x, r2.x, r2.y
mova a0.w, c26.x
mul r2, r2.x, c10[a0.w]
mul r2, r0.w, r2
mad r1, c20.x, r2, r1
mova a0.w, c28.x
add r2.xyz, -r0, c0[a0.w]
dp3 r0.w, r2, r2
rsq r2.w, r0.w
rcp r0.w, r0.w
mul r2.xyz, r2.w, r2
dp3 r2.x, r3, r2
add r2.y, r2.x, c47.z
mul r2.y, r2.y, c47.w
max r2.x, r2.x, r2.y
mova a0.w, c28.x
mul r2, r2.x, c10[a0.w]
mul r2, r0.w, r2
mad r1, c22.x, r2, r1
mova a0.w, c29.x
add r2.xyz, -r0, c0[a0.w]
add r0.xyz, -r0, c46
dp3 r0.w, r2, r2
rsq r2.w, r0.w
rcp r0.w, r0.w
mul r2.xyz, r2.w, r2
dp3 r2.x, r3, r2
dp3 r2.y, r3, -c43
max r2.y, r2.y, c47.x
min r2.y, r2.y, c47.y
mov r3, c44
mad r3, r2.y, r3, c45
add r2.y, r2.x, c47.z
mul r2.y, r2.y, c47.w
max r2.x, r2.x, r2.y
mova a0.w, c29.x
mul r2, r2.x, c10[a0.w]
mul r2, r0.w, r2
mad r1, c23.x, r2, r1
add r1, r1, r3
mul r1, r1, v4
max r1, r1, c47.x
min oT1, r1, c47.y
mul r1, v1.y, c39
mad r1, c38, v1.x, r1
mad r1, c40, v1.z, r1
dp4 r0.w, r1, r1
rsq r0.w, r0.w
mul oT3.xyz, r0.w, r1
mul r1, v2.y, c39
mad r1, c38, v2.x, r1
mad r1, c40, v2.z, r1
dp4 r0.w, r1, r1
rsq r0.w, r0.w
mul oT4.xyz, r0.w, r1
dp3 r0.w, r0, r0
rsq r0.w, r0.w
mul oT2.xyz, r0.w, r0
mul r0.xyz, v0.y, c35
mad r0.xyz, c34, v0.x, r0
mad r0.xyz, c36, v0.z, r0
mad r0.xyz, c37, v0.w, r0
dp3 r0.x, r0, r0
rsq r0.x, r0.x
rcp r0.x, r0.x
mul r0.x, r0.x, c42.x
exp r0.x, r0.x
rcp oFog, r0.x
mov oT0.xy, v3
mov oD0, v4
mov oT6, c47.x
mov oT7.xy, c47.x
};
pixelshader =
asm {
preshader
mul c1.x, c3.x, (0.001)
mul c0.x, c2.x, c3.x
mul c2.xyz, c0.xyz, c4.xyz
add c3.x, c1.w, c1.w
mul c4.xyz, c4.xyz, (0.800118, 0.88902, 0.88902)
mul c5.xyz, c4.xyz, (0.7326, 0.65934, 0.7326)
ps_2_x
def c11, -1.89999998, -0.361999989, -0.246000007, 1
def c12, 15, 0.159154937, 0.5, 2.20000005
def c13, 6.28318548, -3.14159274, 0.75, 0.25
def c14, 179.199997, 22.3999996, 10, 0
def c15, 1.75, 0.25, 0, 0
def c16, -1.55009923e-006, -2.17013894e-005, 0.00260416674, 0.00026041668
def c17, -0.020833334, -0.125, 1, 0.5
dcl t0.xy
dcl t1.xyz
dcl t2.xyz
dcl t3.xyz
dcl t4.xyz
dcl v0.xyz
dcl_2d s2
dcl_2d s9
mov r0.w, c12.x
mad r0.x, t0.y, r0.w, c0.x
mad r0.x, r0.x, c12.y, c12.z
frc r0.x, r0.x
mad r0.x, r0.x, c13.x, c13.y
sincos r1.y, r0.x, c16, c17
mad r0.x, c1.x, r1.y, t0.x
cmp r0.x, -c7.x, t0.x, r0.x
mov r0.y, t0.y
mul r1.xy, r0, c14.z
texld r2, r0, s2
texld r0, r0, s9
texld r1, r1, s2
add r1.x, r2.w, c11.z
mov r3.xyz, t3
mad r1.xyz, r1.x, r3, t4
nrm r4.xyz, r1
add r1.xyz, t2, -c8
nrm r5.xyz, r1
dp3 r3.w, r4, r5
mad r3.w, r3.w, -r3.w, c11.w
rsq r3.w, r3.w
rcp r3.w, r3.w
pow r5.w, r3.w, c14.y
mul r1.xyz, r5.w, c5
mul r1.xyz, r1.w, r1
add r1.w, r2.w, c11.y
mad r3.xyz, r1.w, r3, t4
nrm r4.xyz, r3
dp3 r1.w, r4, r5
mad r1.w, r1.w, -r1.w, c11.w
rsq r1.w, r1.w
rcp r1.w, r1.w
pow r3.x, r1.w, c14.x
mad r1.xyz, c4, r3.x, r1
dp3 r1.w, t3, -c8
mad_sat r3.x, r1.w, c15.x, c15.y
mad_sat r1.w, r1.w, c13.z, c13.w
mul r1.xyz, r1, r3.x
mul r3.xyz, v0, c2
mad r1.xyz, r3, r1.w, r1
add r1.xyz, r1, c9
add r1.xyz, r1, t1
log r3.x, r0.x
log r3.y, r0.y
log r3.z, r0.z
mul_sat r0.w, r0.w, c6.w
mul r3.xyz, r3, c12.w
exp r4.x, r3.x
exp r4.y, r3.y
exp r4.z, r3.z
mul r3.xyz, r4, c6
add r1.w, r2.w, c3.x
add_sat r1.w, r1.w, c11.x
lrp r4.xyz, r1.w, r2, r3
mul r1.xyz, r1, r4
log r2.x, r1.x
log r2.y, r1.y
log r2.z, r1.z
mul r1.xyz, r2, c10.x
exp_sat r0.x, r1.x
exp_sat r0.y, r1.y
exp_sat r0.z, r1.z
mov oC0, r0
};
}
}