1. A computer-implemented method, comprising: obtaining at least one primitive of a three-dimensional model; obtaining a voxel grid that covers at least a portion of the three-dimensional model, the voxel grid including a plurality of voxels; generating, by a computer system, a sampling lattice based on the at least one primitive, wherein the sampling lattice includes a plurality of vertices; for each voxel of the voxel grid: determining a plurality of sample sets for the voxel, wherein a sample set includes a sample time and a sample position within the voxel, the plurality of sample sets including a plurality of different sample times; performing a simulation of the three-dimensional model over time, wherein the simulation includes sampling the plurality of voxels using the plurality of sample sets for each of the plurality of voxels such that: for each sample set of each of the plurality of voxels, at least one parameter of the sampling lattice is sampled for at the sample time of the sample set and the sample position of the sample set; and generating, by the computer system, a voxel buffer associated with the voxel grid, wherein generating the voxel buffer includes storing a voxel array in association with each voxel of the voxel grid based on the sampling.