There is a method of "Marching cubes" which, as I understand it, first creates from the polygon model voxel model isopoverty, and then the resulting model is rendered in the usual way. I do not understand the principle on which is built the algorithm ( in Russian on found articles). As the same Wikipedia shared other method...