public abstract float GetCameraSortDistance(CameraData camera);
public abstract IEnumerable <Vector3> GetCameraSpaceOccluderTriangles(CameraData camera);
public abstract CameraSpaceBounds GetCameraSpaceBounds(CameraData camera);
public virtual void UploadUBOandDraw(CameraData camera, UniformBlock ubo) { }