////////////////////////////////// FOUR POINTLIGHT CODE #define LIGHT_POS_1 POINT_LIGHT_0 #define LIGHT_POS_2 POINT_LIGHT_1 #define LIGHT_POS_3 POINT_LIGHT_2 #define LIGHT_POS_4 POINT_LIGHT_3 #define LIGHT_DIR_1 1+POINT_LIGHT_0 #define LIGHT_DIR_2 1+POINT_LIGHT_1 #define LIGHT_DIR_3 1+POINT_LIGHT_2 #define LIGHT_DIR_4 1+POINT_LIGHT_3 #define LIGHT_COLOR_1 2+POINT_LIGHT_0 #define LIGHT_COLOR_2 2+POINT_LIGHT_1 #define LIGHT_COLOR_3 2+POINT_LIGHT_2 #define LIGHT_COLOR_4 2+POINT_LIGHT_3 #define ONE_PER_FN POINT_LIGHT_ONE_PER_FN #define NEAR_PER_FN POINT_LIGHT_N_PER_FN #define LOG10_OF_2 c[POINT_LIGHT_LOG_VAL].x #define ZERO c[SPEC_POWER_CONST].x #define ONE c[SPEC_POWER_CONST].y // ANGLE FACTOR dp3 r5.x, NORMAL, c[LIGHT_DIR_1] dp3 r5.y, NORMAL, c[LIGHT_DIR_2] dp3 r5.z, NORMAL, c[LIGHT_DIR_3] dp3 r5.w, NORMAL, c[LIGHT_DIR_4] max r5, r5, ZERO mad r2, r5.x, c[LIGHT_COLOR_1], r2 mad r2, r5.y, c[LIGHT_COLOR_2], r2 mad r2, r5.z, c[LIGHT_COLOR_3], r2 mad r2, r5.w, c[LIGHT_COLOR_4], r2