def generate_ray(self, sample:CameraSample)->Ray: point_camera = Point3d(sample.image_xy[0], sample.image_xy[1], 0.0) * self.rasterToCamera direction = Vector3d(0.0, 0.0, 1.0) r = Ray(point_camera, direction, 0.0, infinity_max_f) if self.lensRadius>0.0: pass #todo r.time = sample.time return r * self.camera_to_world
def generate_ray(self, sample:CameraSample)->Ray: camera_point = Point3d(sample.image_xy[0], sample.image_xy[1], 0.0) * self.rasterToCamera camera_direction = Vector3d(camera_point.x, camera_point.y, camera_point.z).get_normalized() r = Ray(camera_point, camera_direction, 0.0, infinity_max_f) if self.lensRadius>0.0: pass #todo r.time = sample.time return r * self.camera_to_world