Skip to content

Release 0.24 #892

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jun 12, 2025
Merged

Release 0.24 #892

merged 7 commits into from
Jun 12, 2025

Conversation

zeux
Copy link
Owner

@zeux zeux commented Jun 11, 2025

This change updates versions and sets of stable APIs, adds C++ wrappers for simplifyPrune and encodeVertexBufferLevel, and renames buildMeshletsSplit to buildMeshletsSpatial as that seems like a better long-term name for the algorithm.

Stabilized APIs: meshopt_generateProvokingIndexBuffer, meshopt_spatialSortTriangles

APIs that are still experimental:

  • Introduced in this release, likely will be stabilized with no changes

    • meshopt_analyzeCoverage
    • meshopt_generateVertexRemapCustom
    • meshopt_buildMeshletsSpatial (modulo potential addition of extra tunables)
    • meshopt_simplifyPrune
    • meshopt_spatialClusterPoints
  • Changed in this release, likely will be stabilized with no further changes

    • meshopt_encodeVertexBufferLevel
    • meshopt_partitionClusters
  • Others

    • meshopt_buildMeshletsFlex - introduced in last release, no changes yet; not sure if the name is final?
    • meshopt_computeSphereBounds - introduced in last release, likely will be stabilized with no changes
    • meshopt_simplifySloppy - significant outstanding implementation and potentially interface work may happen soon

zeux added 6 commits June 11, 2025 11:30
Both functions have had a consistent interface for a while with no
future changes planned short of implementation improvements.
This allows using meshopt_simplifyPrune with other index types,
similarly to all other simplify* functions.
When using C++, we now specify an inline overload that omits version
argument. When version will default to 1 in a future update, this will
make using specific level a little more obvious, without changes to
API/ABI compatibility.
Mark encodeVertexBufferLevel, partitionClusters, spatialClusterPoints
as likely to become stable in the next version: neither function has
anticipated changes in the interface or behavior.
This includes accumulated source changes to various algorithms.
@zeux zeux changed the title Release 0.23 Release 0.24 Jun 11, 2025
This name better reflects the nature of the algorithm and seems somewhat
more intuitive; "split" was either too generic (all meshlet builders
split the input sequence) or too imprecise (no triangle splitting is
performed), and overlapped with split_weight in Flex builder
unnecessarily.
@zeux zeux marked this pull request as ready for review June 11, 2025 22:06
@zeux zeux merged commit 7b2d4f4 into master Jun 12, 2025
13 checks passed
@zeux zeux deleted the v24 branch June 12, 2025 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant