public override Vector3 get_direction(ref Shade s) { sample_point = obj_ptr.sample(); light_normal = obj_ptr.get_normal(ref sample_point); wi = sample_point - s.hit_point; wi.Normalize(); return(wi); }