Ejemplo n.º 1
0
 def scatter(self, ray, rec, srec):
     reflected = ray.dir.unit_vector().reflect(rec.normal)
     srec.specular_ray = Ray(rec.p, reflected + self.fuzz * Vec3.random_in_unit_sphere())
     srec.attenuation = self.a
     srec.is_specular = True
     srec.pdf_ptr = 0
     return True
Ejemplo n.º 2
0
 def scatter(self, ray, rec, attenuation, scattered):
     scattered.replace_values(Ray(rec.p, Vec3.random_in_unit_sphere(), ray.time))
     attenuation.replace_values(self.albedo.value(rec.u, rec.v, rec.p))
     return True