#!Start #0. None #!End ##################################################################################### #!Start #0-1. BlendMesh ADD RST_TEXTURE.xy, IPT_TEX, LocalParam[1]; #!End ##################################################################################### #!Start #1. Chrome MAD RST_TEXTURE.x, RST_NORMAL.z, LocalParam[2].x, LocalParam[1].z; MUL Temp.w, LocalParam[1].z, LocalParam[2].z; MAD RST_TEXTURE.y, RST_NORMAL.y, LocalParam[2].y, Temp.w; #!End ##################################################################################### #!Start #2. Chrome2 MUL Temp.z, LocalParam[1].w, LocalParam[2].y; ADD Temp.x, RST_NORMAL.x, RST_NORMAL.z; ADD Temp.y, RST_NORMAL.z, RST_NORMAL.y; MAD RST_TEXTURE.x, Temp.x, LocalParam[2].x, Temp.z; MUL Temp.z, LocalParam[1].w, LocalParam[2].w; MAD RST_TEXTURE.y, Temp.y, LocalParam[2].z, Temp.z; #!End ##################################################################################### #!Start #3. Chrome3 DP3 Temp.x, RST_NORMAL, LocalParam[1]; MOV RST_TEXTURE.x, Temp.x; SUB RST_TEXTURE.y, LocalParam[1].w, Temp.x; #!End ##################################################################################### #!Start #4. Chrome4 DP3 Temp.x, RST_NORMAL, LocalParam[1]; MUL Temp.y, LocalParam[1].x, LocalParam[3].w; MUL Temp.z, LocalParam[1].w, LocalParam[3].y; MOV Temp1.x, Temp.x; SUB Temp1.y, EtcConsts.x, Temp.x; MAD Temp1.w, RST_NORMAL.y, LocalParam[3].x, Temp.y; ADD Temp1.w, Temp1.w, LocalParam[2].x; ADD RST_TEXTURE.x, Temp1.x, Temp1.w; MAD Temp1.w, RST_NORMAL.z, LocalParam[3].z, Temp.z; ADD Temp1.w, -Temp1.w, LocalParam[2].y; ADD RST_TEXTURE.y, Temp1.y, Temp1.w; #!End ##################################################################################### #!Start #5. Chrome5 DP3 Temp.x, RST_NORMAL, LocalParam[1]; MUL Temp.y, LocalParam[1].x, LocalParam[2].w; MUL Temp.z, LocalParam[1].w, LocalParam[2].y; MOV Temp1.x, Temp.x; SUB Temp1.y, EtcConsts.x, Temp.x; MAD Temp.w, RST_NORMAL.y, LocalParam[2].x, Temp.y; ADD RST_TEXTURE.x, Temp1.x, Temp.w; MAD Temp.w, RST_NORMAL.z, LocalParam[2].z, Temp.z; ADD RST_TEXTURE.y, Temp1.y, -Temp.w; #!End ##################################################################################### #!Start #6. Metal MAD RST_TEXTURE.x, RST_NORMAL.z, LocalParam[1].x, LocalParam[1].y; MAD RST_TEXTURE.y, RST_NORMAL.y, LocalParam[1].z, LocalParam[1].w; #!End ##################################################################################### #!Start #7. Oil DP3 Temp.x, RST_NORMAL.x, Mv[0]; DP3 Temp.y, RST_NORMAL.y, Mv[1]; DP3 Temp.z, RST_NORMAL.z, Mv[2]; MAD RST_TEXTURE.x, Temp.x, IPT_TEX.x, LocalParam[1].x; MAD RST_TEXTURE.y, Temp.y, IPT_TEX.y, LocalParam[1].y; #!End ###############v###################################################################### #!Start #8. Chrome6 ADD Temp.x, RST_NORMAL.x, RST_NORMAL.z; MUL Temp.x, Temp.x, LocalParam[1].x; MAD RST_TEXTURE.xy, LocalParam[1].y, LocalParam[1].z, Temp.x; #!End ##################################################################################### #!Start #9. Wave #!End #####################################################################################