Hi, all!
Have anybody used MeshOptimizer https://github.com/zeux/meshoptimizer with Ogre?
I want to use it with ogre-procedural results, but I guess that would be useful for any mesh...

Hi, all!
Have anybody used MeshOptimizer https://github.com/zeux/meshoptimizer with Ogre?
I want to use it with ogre-procedural results, but I guess that would be useful for any mesh...
I don't know if it is basically the same thing or not, but the blender exporter has these settings:
Optimise Vertex Cache
This reorders the index buffer of the mesh such that triangles are rendered in order of proximity.
If enabled, the MeshUpgrader will print the change of the "average cache miss ratio (ACMR)" metric.
It measures the number of cache misses per triangle and thus ranges from 3.0 (all 3 vertices missed) to about 0.5 for an optimized mesh.
Pack into 'INT_10_10_10_2' format.
Ogre now supports normalized INT_10_10_10_2 as the normal format.
This packs 3 signed values with 10bit precision and a fourth 2bit value into 4 bytes; the size of a single float.
If you are using normal-maps, you will notice how this format is perfect to store a tangent with parity, while only requiring 25% of the storage compared to 4 floats.
My project: https://imagindar.com/

Well, MeshOptimizer is the package used by Godot 4.x for LODs and mesh cleaning so it is useful, but it has a problem as with many other LOD systems, with modular meshes built from many pieces, as these are harder to optimize.

Godot 4.x uses more complicated approach to LODs as it not only reduces geometry but also tries to keep colors intact using raycasts and building UV list and texture properly so no visual artifacts happen upon getting closer to mesh or farther away, so it can create additional vertices or indices while producing LODs trying to keep colors and average shape intact. The approach is interesting.
With Ogre I have some trouble setting LODs up with StaticGeometry so to have enough geometry reduction and not have too ugly looks as it likes to remove huge but thinner surfaces, i.e. if you have something in the box it is likely to remove the box even though it is bigger on the screen than its contents.
So I wonder how can I tune this or set up my own so that no external large surfaces get removed.