3D filling algorithms