#!Start #0. ±âº» MOV RST_COLOR, LocalParam[0]; #!End ##################################################################################### #!Start #1. Amibient¿Í °öÇÑ´Ù. MOV RST_COLOR, LocalParam[0]; #!End ##################################################################################### #!Start #2. Point Light SUB Temp2, LocalParam[5], FINAL_VERTEX; DP3 Temp2.w, Temp2, Temp2; RSQ Temp2.w, Temp2.w; MUL Temp2.xyz, Temp2, Temp2.w; DP3 Temp1.x, RST_NORMAL, Temp2; MAX Temp1.x, Temp1.x, 0.25; MUL RST_COLOR.xyz, LocalParam[0], Temp1.x; MOV RST_COLOR.w, LocalParam[0].w; #!End ##################################################################################### #!Start #3. Directional Light DP3 Temp1.x, RST_NORMAL, LocalParam[5]; MAD Temp1.x, Temp1.x, 0.8, 0.4; MAX Temp1.x, Temp1.x, 0.2; MUL RST_COLOR.xyz, LocalParam[0], Temp1.x; MOV RST_COLOR.w, LocalParam[0].w; #!End ##################################################################################### #!Start #4. Point + Directional Light DP3 Temp1.x, RST_NORMAL, LocalParam[5]; SUB Temp2, LocalParam[4], FINAL_VERTEX; DP3 Temp2.w, Temp2, Temp2; RSQ Temp2.w, Temp2.w; MUL Temp2.xyz, Temp2, Temp2.w; DP3 Temp2.x, RST_NORMAL, Temp2; MUL Temp2.x, Temp2.x, LocalParam[4].w; ADD Temp1.x, Temp1.x, Temp2.x; #MAX Temp1.x, Temp1.x, 0.1; MIN Temp1.x, Temp1.x, 1.0; MUL RST_COLOR.xyz, LocalParam[0], Temp1.x; MOV RST_COLOR.w, LocalParam[0].w; #!End #####################################################################################