Ejemplo n.º 1
0
 public static double diffuse(ObjectR o, Point p, Light l) {
   double[] norm = calc.normalize(o.normal(p));
   double[] light = calc.normalize(calc.sub(l.dim, p.coord));
   double factor = calc.dot(norm, light);
   factor = Math.max(factor, 0);
   return o.kd() * factor + o.ka();
 }
Ejemplo n.º 2
0
 public static double specular(ObjectR o, Point p, Light l, Camera c) {
   double[] norm = calc.normalize(o.normal(p));
   double[] eye = calc.normalize(calc.sub(c.point.coord, p.coord));
   double[] light = calc.normalize(calc.sub(l.dim, p.coord));
   double[] h = calc.normalize(calc.add(eye, light));
   double factor = calc.dot(norm, h);
   factor = Math.max(factor, 0);
   return o.ks() * Math.pow(factor, o.n());
 }