When rendering a mesh using the Dual Contouring algorithm, a problem occurs where vertices at specific locations disappear relative to the world position.

Hello

I’m implementing the logic to generate and render vertices using Dual Contouring.

The problem is that among the vertices generated through the Dual Contouring logic, certain vertices at specific locations are not being calculated.

The target vertices are located within a circular ring, with the origin in the direction corresponding to the - and + basis axes of each axis relative to the WorldBound (see the image).

However, the problem is that vertices are not disappearing at all ring locations, but only at a few. I apologize for the poor explanation. I’m not sure how to express this in technical terms.

The overall work related to Dual Contouring is performed through the compute shader, and the overall flow is as follows:

ChunkCollectionPass: Collects the target chunks to be rendered. The WorldBound is a power of 2, and the chunks are divided into octree chunks up to a depth of 20.

DensityFieldPass: Uses the collected chunks to build a DensityField with a resolution of 32 x 32 x 32.

DualcontouringLogicPass: Performs dual contouring logic.

TopologyCS: Constructs an index using vertices.

Rendering

Methods I’ve tried so far:

Converting vertices to local coordinates during QEF solving, then calculating and restoring them later.

Adding the eps value to the SignChange function.

It’s difficult to determine the cause, so I’m unsure of what to try.

If you have information about this issue and are calculating it, please let me know what the problem is.