1. A computer-implemented method for three-dimensional (3D) model reconstruction, the method comprising: receiving input images that include multiple two-dimensional (2D) images of an object from various perspectives; generating a list of voxels that reconstruct a 3D model of the object based at least in part on the input images of the object, the list of voxels including multiple voxels; assigning individual voxels of the multiple voxels to a thread identifier (ID) associated with a graphics processing unit (GPU), wherein indices of the individual voxels are associated with a location of the list of voxels corresponding to its thread ID; iteratively performing the following until a predetermined condition is satisfied: determining that an individual voxel of the multiple voxels is removable based on the individual voxel being identified as not intersecting with a surface of the object based on analysis of the input images; storing a designation of removability of the individual voxel in a sequential list corresponding to the list of voxels, the designation of removability indicating that the individual voxel is to be removed; and determining whether the predetermined condition is satisfied, the predetermined condition being based on one or more of a GPU processing capacity, a level of voxel hierarchy of the list of voxels, and a user interaction with the 3D model of the object; in response to determining the predetermined condition is satisfied, removing one or more voxels from the list of voxels to generate output voxels that exclude each individual voxel in the sequential list having the stored designation of removability; and rendering the 3D model using the output voxels.