Can we dynamically lower the polygon count of models?

I remember a feature in an old game called Rune where we could chose the amount of polygons models would have (or at least the player).

As I remember, the textures still looked ok in these degraded models.

I wonder if it is possible to reproduce that feature in some way with JME3, without having to change too much core code?

I understand we would have to deal with the mesh data (may be some code like the convexhull could be used.

But I am still clueless about UV mappings (I “understood” how it works but for some reason when I try to code it, everything looks weird, still looking for a good tuturial that could work on JME3).

Its called “LOD” or “level of distance” and you actually change the indices of the mesh (you have multiple sets of indices) to tell the GPU which vertices to render. Theres a LOD generator in the SDK (right-click a geometry in the scene explorer) as well as in the “extended ogre importer” during import (right-click an ogre file in your project assets).

1 Like

nice! thx!

I think it’s “Level Of Detail”. :chimpanzee_smile:
By the way… there are other LOD techniques that don’t use distance (e.g. visual contribution or quality factors or velocity-dependend or darkness-dependend etc.). I made my master’s thesis about a related topic.
Don’t know how good this article is, but it exists: Level of detail - Wikipedia



omg… it seems we can generate it dynamically :open_mouth:, I was looking exactly for this!
Brand new Lod Generator

Yes… or via the jME SDK or via the Ogre exporter.

Btw - Blender once had a nice “polyreducer” tool built-in.
They don’t seem to have that tool from Blender 2.49 tool anymore in recent versions.
The tool allowed to specify the weight for LOD reduction in a separate vertex color buffer.
So you could vertex-paint the 3D model and white means “very important - don’t reduce these parts of the model” but black means “not important - can reduce these parts of the model with maximum greedy LOD reduction”.
A good tool can decide what part of the model is important and what part is not important.
But still it was a nice tool that allowed me to define importance myself manually.

1 Like

I think it’s now called “Decimate” .

1 Like

Don’t know if the Decimate modifier lets you specify “importance weights”.
But if it does, then it is now a valid replacement for the “poly reducer” tool.
The poly reducer also let you select several weighting functions (like “linear”, “exponential”, etc.).

Here is an online tool that lets you reduce your polycount.(it supports FBX file)

Also you can use blender modifier “Decimate”

1 Like

Blender decimate modifier used to be terrible. I used it recently in blender 2.76 and it’s now very good. you have 3 different decimation algorithms that works wonder and one of them even keeps the topology with nor triangulation.

1 Like