- color_t Id = color_new(
- light.color.r * vert.c.r * kd,
- light.color.g * vert.c.g * kd,
- light.color.b * vert.c.b * kd,
- S(1.0)
- );
- scal_t ks = scal_pow(scal_max(vec_dot(r, v), S(0.0)), S(64.0));
- color_t Is = color_new(
- light.color.r * COLOR_WHITE.r * ks,
- light.color.g * COLOR_WHITE.g * ks,
- light.color.b * COLOR_WHITE.b * ks,
- S(1.0)
- );
+ color_t Id = color_scale2(light.d, vert.c, kd);
+ scal_t ks = scal_pow(scal_max(vec_dot(r, v), S(0.0)), p->shininess);
+ color_t Is = color_scale2(light.s, p->specular, ks);