5 minute read

This is the paper page of our paper “Conservative Meshlet Bounds for Robust Culling of Skinned Meshes” which has been accepted and presented at Pacific Graphics 2021.

Terrain and skinned character model divided into meshlets

Figure 1: Both static (terrain) and animated (skinned character) models are divided into small clusters of geometry—so called “meshlets”.




Following recent advances in GPU hardware development and newly introduced rendering pipeline extensions, the segmentation of input geometry into small geometry clusters-so-called meshlets-has emerged as an important practice for efficient rendering of complex 3D models. Meshlets can be processed efficiently using mesh shaders on modern graphics processing units, in order to achieve streamlined geometry processing in just two tightly coupled shader stages that allow for dynamic workload manipulation in-between. The additional granularity layer between entire models and individual triangles enables new opportunities for fine-grained visibility culling methods. However, in contrast to static models, view frustum and backface culling on a per-meshlet basis for skinned, animated models are difficult to achieve while respecting the conservative spatio-temporal bounds that are required for robust rendering results. In this paper, we describe a solution for computing and exploiting relevant conservative bounds for culling meshlets of models that are animated using linear blend skinning. By enabling visibility culling for animated meshlets, our approach can help to improve rendering performance and alleviate bottlenecks in the notoriously performanceand memory-intensive skeletal animation pipelines of modern real-time graphics applications.


We describe an algorithm to compute conservative bounds for each meshlet of a skinned and animated 3D model, such as depicted in Figure 2. While computing consevative bounds for static geometry (such as the terrain in Figure 1) is trivial, it is more complex for animated models because the bounds of animated meshlets can change, leading to varying extents of a meshlet. Furthermore, a meshlet’s face normals distribution changes, which needs to be taken into account to enable backface culling on a per-meshlet basis. Figure 3 shows initial bounds of one specific meshlet, which might not be true for animated states of that particular meshlet.

One meshlet highlighted of a skinned character model
Figure 2: One meshlet of a character model's skin is highlighted.
Initial meshlet bounds
Figure 3: Initial meshlet bounds for a selected meshlet, showing the spatial bounding box and a cone representing its face normals distribution.

In our paper, we describe an approach that leads to conserative meshlet bounds, so that fine-grained view-frustum culling and backface culling can be enabled while avoiding rendering errors from prematurely culled meshlets, as it could occur without conservative meshlet bounds. Figure 4 shows the effect of fine-grained culling along some frustum planes marked in blue.

Fine-grained view frustum culling

Figure 4: Based on their conservative bounds, fine-grained view frustum culling on a per-meshlet basis along frustum planes can be enabled.



  title =      "Conservative Meshlet Bounds for Robust Culling of Skinned
  author =     "Johannes Unterguggenberger and Bernhard Kerbl and Jakob
               Pernsteiner and Michael Wimmer",
  year =       "2021",
  month =      oct,
  doi =        "10.1111/cgf.14401",
  issn =       "1467-8659",
  journal =    "Computer Graphics Forum",
  number =     "7",
  volume =     "40",
  pages =      "57--69",
  keywords =   "real-time rendering, meshlet, mesh shader, task shader, view
               frustum culling, backface culling, Vulkan, vertex skinning,
               animation, conservative bounds, bounding boxes, Rodrigues'
               rotation formula, spatio-temporal bounds",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2021/unterguggenberger-2021-msh/",