Computer-implemented method for visualizing, on a display and sequentially from a plurality of different viewpoints, a three-dimensional model of a structure, the method comprising - providing geometry data and attribute information of the model in one or more data structures on a data storage device ; and - performing a rendering process for providing a visualization of the model on the display for each of the multitude of viewpoints, wherein the rendering process comprises - rendering in a single draw call a multitude of three-dimensional arrays , each array comprising at least eight voxels (40-47); - removing, in at least a first array of the multitude of arrays, one or more voxels (40-47) that are not to be visualized, wherein each voxel (40-47) that is not to be visualized is folded-away by folding vertices of said voxel to a centre of the array; - computing a distortion on a mapping from voxel space to attribute volume space in dependence on the removed one or more voxels (40-47); - assigning attributes to the voxels (40-47) of the multitude of arrays using distorted values for retrieving attribute values from attribute volume space, wherein the attributes are assigned to the remaining voxels according to the computed distortion; and - visualizing the voxels (40-47) of the multitude of arrays on the display , wherein - the geometry data is organized in an sparse voxel octree, wherein the first array corresponds to a node of the octree, and local coordinates stored in the node are used for assigning attributes for the voxels (40-47) in the first array ; and - the method comprises traversing the octree to obtain bitmasks of at least a subset of the geometry data that is to be visualized based on an actual viewpoint. - providing geometry data and attribute information of the model in one or more data structures on a data storage device ; and - performing a rendering process for providing a visualization of the model on the display for each of the multitude of viewpoints, wherein the rendering process comprises - rendering in a single draw call a multitude of three-dimensional arrays , each array comprising at least eight voxels (40-47); - removing, in at least a first array of the multitude of arrays, one or more voxels (40-47) that are not to be visualized, wherein each voxel (40-47) that is not to be visualized is folded-away by folding vertices of said voxel to a centre of the array; - computing a distortion on a mapping from voxel space to attribute volume space in dependence on the removed one or more voxels (40-47); - assigning attributes to the voxels (40-47) of the multitude of arrays using distorted values for retrieving attribute values from attribute volume space, wherein the attributes are assigned to the remaining voxels according to the computed distortion; and - visualizing the voxels (40-47) of the multitude of arrays on the display , - the geometry data is organized in an sparse voxel octree, wherein the first array corresponds to a node of the octree, and local coordinates stored in the node are used for assigning attributes for the voxels (40-47) in the first array ; and - the method comprises traversing the octree to obtain bitmasks of at least a subset of the geometry data that is to be visualized based on an actual viewpoint. <EOS>