Investigate cubic mesh simplification creating T-junctions

Create issue
Issue #25 wontfix
David Williams created an issue

As described in the manual here: http://www.volumesoffun.com/polyvox/documentation/0.2.1/manual/LevelOfDetail.html#cubic-meshes

Also here: http://www.volumesoffun.com/phpBB3/viewtopic.php?f=14&t=480

A correct solution would be to provide a simplification function which does not create these T-Junctions. However, this will almost certainly result in more triangles and vertices and may also be more computationally expensive. Maybe it should be provided as an option.

Another possibility would be to fix the holes with a post-process (medial filter combined with triangle edge detector?). The feasibility of this needs investigating.

Comments (1)

  1. David Williams reporter

    This is now a well-known problem with many voxel engines and is difficult to solve robustly. The best resource for understanding this is here: https://blackflux.wordpress.com/2014/02/23/meshing-in-voxel-engines-part-1/

    I believe the most practical solution is to cover up the problem using a fragment shader which identifies and fills erroneous pixels by depth discontinuities, or a geometry shader which slightly enlarges triangles at run time. Both of these are for the end user to implement and are outside the scope of PolyVox.

  2. Log in to comment