看这失落的星球的一shader 好复杂
ps_3_0
def c39, 1, -0.517647088, -0.509803951, -0.5
def c40, 0, 0.00392156886, 0, 0
dcl_texcoord_pp v0
dcl_texcoord1 v1.xyz
dcl_texcoord2_pp v2.xy
dcl_texcoord3_pp v3.xyz
dcl_texcoord4_pp v4.xyz
dcl_texcoord5_pp v5.xyz
dcl_2d s0
dcl_2d s1
dcl_2d s2
dcl_cube s3
texld_pp r0, v2, s1
add r0.xyz, r0.xyww, c39.yzww
add_pp r0.xyz, r0, r0
mul_pp r0.w, r0.z, r0.x
mad r0.z, r0.w, -r0.w, c39.x
mad r0.z, r0.y, -r0.y, r0.z
rsq r0.z, r0.z
rcp_pp r1.w, r0.z
mul_pp r1.xyz, r0.y, v4
add r0.xyz, v1, -c31
mad_pp r1.xyz, r0.w, v3, r1
dp3 r0.w, r0, r0
mad_pp r2.xyz, r1.w, v5, r1
rsq r3.w, r0.w
nrm_pp r1.xyz, r2
mul r5.xyz, r0, r3.w
dp3 r0.z, r5, r1
add r0.w, -r0.z, c39.x
mul r0.y, r0.w, r0.w
mul r0.y, r0.y, r0.y
mul r0.w, r0.w, r0.y
mad_sat r0.w, r0.w, c37.x, c37.y
add r0.z, r0.z, r0.z
add r0.w, -r0.w, c39.x
mad_pp r0.xyz, r1, -r0.z, r5
mul_pp r4.w, r0.w, v0.w
if b0
add r2.xyz, -v1, c1
dp3 r1.w, r2, r2
rsq r2.w, r1.w
mad r4.xyz, r2, r2.w, -r5
nrm r3.xyz, r4
dp3 r0.w, r1, r3
mad r1.w, r1.w, r2.w, -c0.w
mul r2.xyz, r2, r2.w
mul_sat r2.w, r1.w, c1.w
dp3 r1.w, -c2, r2
add r2.w, -r2.w, c39.x
add r1.w, r1.w, -c3.x
dp3 r2.y, r1, r2
mul r2.z, r1.w, c3.y
max r1.w, r2.y, c40.x
max r3.z, c3.w, r2.z
mul r1.w, r2.w, r1.w
min r2.w, r3.z, c39.x
mul r1.w, r1.w, r2.w
max r2.w, r0.w, c40.x
pow r0.w, r2.w, c37.z
mul_pp r3.xyz, r1.w, c0
mul_pp r2.xyz, r0.w, r3
mul_pp r3.xyz, r3, c3.z
if b1
add r4.xyz, -v1, c5
dp3 r1.w, r4, r4
rsq r2.w, r1.w
mad r7.xyz, r4, r2.w, -r5
nrm r6.xyz, r7
dp3 r0.w, r1, r6
mad r1.w, r1.w, r2.w, -c4.w
mul r4.xyz, r4, r2.w
mul_sat r2.w, r1.w, c5.w
dp3 r1.w, -c6, r4
add r2.w, -r2.w, c39.x
add r1.w, r1.w, -c7.x
dp3 r4.z, r1, r4
mul r5.w, r1.w, c7.y
max r1.w, r4.z, c40.x
max r4.z, c7.w, r5.w
mul r1.w, r2.w, r1.w
min r2.w, r4.z, c39.x
mul r1.w, r1.w, r2.w
max r2.w, r0.w, c40.x
pow r0.w, r2.w, c37.z
mul_pp r4.xyz, r1.w, c4
mad_pp r2.xyz, r0.w, r4, r2
mad_pp r3.xyz, r4, c7.z, r3
if b2
add r4.xyz, -v1, c9
dp3 r1.w, r4, r4
rsq r2.w, r1.w
mad r7.xyz, r4, r2.w, -r5
nrm r6.xyz, r7
dp3 r0.w, r1, r6
mad r1.w, r1.w, r2.w, -c8.w
mul r4.xyz, r4, r2.w
mul_sat r2.w, r1.w, c9.w
dp3 r1.w, -c10, r4
add r2.w, -r2.w, c39.x
add r1.w, r1.w, -c11.x
dp3 r4.z, r1, r4
mul r5.w, r1.w, c11.y
max r1.w, r4.z, c40.x
max r4.z, c11.w, r5.w
mul r1.w, r2.w, r1.w
min r2.w, r4.z, c39.x
mul r1.w, r1.w, r2.w
max r2.w, r0.w, c40.x
pow r0.w, r2.w, c37.z
mul_pp r4.xyz, r1.w, c8
mad_pp r2.xyz, r0.w, r4, r2
mad_pp r3.xyz, r4, c11.z, r3
if b3
add r4.xyz, -v1, c13
dp3 r1.w, r4, r4
rsq r2.w, r1.w
mad r6.xyz, r4, r2.w, -r5
nrm r5.xyz, r6
dp3 r0.w, r1, r5
mad r1.w, r1.w, r2.w, -c12.w
mul r4.xyz, r4, r2.w
mul_sat r2.w, r1.w, c13.w
dp3 r1.w, -c14, r4
add r2.w, -r2.w, c39.x
add r1.w, r1.w, -c15.x
dp3 r4.z, r1, r4
mul r5.w, r1.w, c15.y
max r1.w, r4.z, c40.x
max r4.z, c15.w, r5.w
mul r1.w, r2.w, r1.w
min r2.w, r4.z, c39.x
mul r1.w, r1.w, r2.w
max r2.w, r0.w, c40.x
pow r0.w, r2.w, c37.z
mul_pp r4.xyz, r1.w, c12
mad_pp r2.xyz, r0.w, r4, r2
mad_pp r3.xyz, r4, c15.z, r3
endif
endif
endif
else
mov r2.xyz, c40.x
mov_pp r3.xyz, r2.x
endif
if b4
add r4.xyz, -v1, c24
dp3 r0.w, r4, r4
rsq r1.w, r0.w
mul r4.xyz, r4, r1.w
mad r0.w, r0.w, r1.w, -c23.w
dp3 r2.w, r4, r1
mul_sat r1.w, r0.w, c24.w
max r0.w, r2.w, c40.x
add r1.w, -r1.w, c39.x
mul r0.w, r0.w, r1.w
mad_pp r3.xyz, c23, r0.w, r3
if b5
add r4.xyz, -v1, c26
dp3 r0.w, r4, r4
rsq r1.w, r0.w
mul r4.xyz, r4, r1.w
mad r0.w, r0.w, r1.w, -c25.w
dp3 r2.w, r4, r1
mul_sat r1.w, r0.w, c26.w
max r0.w, r2.w, c40.x
add r1.w, -r1.w, c39.x
mul r0.w, r0.w, r1.w
mad_pp r3.xyz, c25, r0.w, r3
if b6
add r4.xyz, -v1, c28
dp3 r0.w, r4, r4
rsq r1.w, r0.w
mul r4.xyz, r4, r1.w
mad r0.w, r0.w, r1.w, -c27.w
dp3 r2.w, r4, r1
mul_sat r1.w, r0.w, c28.w
max r0.w, r2.w, c40.x
add r1.w, -r1.w, c39.x
mul r0.w, r0.w, r1.w
mad_pp r3.xyz, c27, r0.w, r3
if b7
add r4.xyz, -v1, c30
dp3 r0.w, r4, r4
rsq r1.w, r0.w
mul r4.xyz, r4, r1.w
mad r0.w, r0.w, r1.w, -c29.w
dp3 r2.w, r4, r1
mul_sat r1.w, r0.w, c30.w
max r0.w, r2.w, c40.x
add r1.w, -r1.w, c39.x
mul r0.w, r0.w, r1.w
mad_pp r3.xyz, c29, r0.w, r3
endif
endif
endif
endif
mov_pp r0.w, c38.x
texldl_pp r0, r0, s3
max_pp r1.w, r0.w, c40.y
rcp_pp r0.w, r1.w
mul_pp r0.xyz, r0, r0.w
mad_pp r4.xyz, r0, c37.w, r2
texld_pp r0, v2, s2
mov r1.w, c39.x
dp4_pp r5.z, c18, r1
mul_pp r0.w, r1.y, r1.y
dp4_pp r5.x, c16, r1
mul_pp r2, r1.yzzx, r1.xyzz
dp4_pp r5.y, c17, r1
dp4_pp r6.z, c21, r2
dp4_pp r6.x, c19, r2
dp4_pp r6.y, c20, r2
mad_pp r0.w, r1.x, r1.x, -r0.w
add_pp r2.xyz, r5, r6
mul_pp r1.xyz, r4.w, r0
mad_pp r0.xyz, c22, r0.w, r2
mul_pp r2.xyz, r4, r1
mad_pp r1.xyz, r3, v0.w, r0
texld_pp r0, v0, s0
rcp r1.w, r3.w
add r1.w, r1.w, -c33.x
max_pp r2.w, r0.w, c35.w
mul r1.w, r1.w, c33.z
mul_pp r3.xyz, r2.w, c35
min r2.w, c34.w, r1.w
mul_pp r0.xyz, r0, r3
max r1.w, r2.w, c40.x
mad_pp r1.xyz, r1, r0, r2
mul_pp r0.y, r1.w, c36.x
mov r0.z, c40.x
cmp_pp r1.w, -c32.x, r0.z, r0.y
mov r0.z, c39.x
add r2.w, r0.z, -c35.w
lrp_pp r0.xyz, r1.w, c34, r1
max_pp r1.w, r0.w, r2.w
mul_pp oC0.xyz, r0, -c39.w
mul_pp oC0.w, r1.w, v0.z
// approximately 261 instruction slots used (5 texture, 256 arithmetic)
|