Skip to content

Simplification should prune topologically separate components #764

Closed
@Ono-Sendai

Description

@Ono-Sendai

Hi,
I'm running into this problem a lot, here is an example mesh on which it occurs.

unsimplified gallery non wireframe

unsimplified gallery

The mesh has a bunch of small items in it (the cylindrical spotlights) that are topologically separate. As a result of that, meshopt_simplify / meshopt_simplifyWithAttributes can't remove them (as documented).

This is the result of meshopt_simplify:

simplified without attributes

The total number of triangles is only slightly reduced.

So then I call meshopt_simplifySloppy, which successfully removes the spotlights. Unfortunately meshopt_simplifySloppy seems to merge vertices aggressively, resulting in pretty incorrect shading normals on the room itself. See attached pics.

simplified sloppy
simplified sloppy2
simplified sloppy 3

What I want is some kind of simplification that can remove or merge topologically separate components, but which doesn't merge vertices on edges, and hence maintains reasonable shading normal fidelity.

Do you have any suggestions for that? Is it possible with meshoptimizer as-is, or would it need to be added?

Thanks,
Nick C.

p.s. please feel free to recategorise as a feature enhancement or discussion item.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions