public abstract bool Intersect(RayDifferential ray, out float dist);
public override bool Intersect(RayDifferential ray, out float dist) { throw new System.NotImplementedException(); }
public abstract bool Intersect(RayDifferential ray);