Mesh Serializer load pixelLODstrategy incorrectly
Description
Environment
Windows 7
Activity

Hi!
The distance value for original/first lodlevel should be set to LodStrategy::getBaseValue().
Also there were another issue that after loading the mesh, the user values are converted to values (values are cached numbers to reduce recalculation every frame). However the first uservalue should be ignored, because the uservalue of the first lod is unspecified(mostly 0), which overwrites the value from baseValue to 0.
I have fixed these in v1.10 when my gsoc branch was merged. Can you confirm that?

I'm sorry, I merely discovered the issue, and tried to dump all the info I had on it, and reported it to prevent from getting lost (like it did in the forums).
This issue surfaced when I updated to 1.9 and used the new mesh "autolod" features, and saved/loaded (the issue itself is not 1.9 related however, but in all versions). I believe its the load step that's the main issue, I don't think altering the save step would do anything.
I am sorry I cannot provide any simple examples, but I believe the order would be something like: load any mesh -> ProgressiveMesh (autolod) -> save mesh -> load mesh. Then look at the "meshLodUsageList" values in OgreMesh.cpp
For a dirty hotfix, I have done the following after load to fix it (but it requires a change to ogre, since its a protected variable), and even then, I don't think it completely fixes the issue.
if ( mLodStrategy->getName().at(0) == 'P' )
{
mMeshLodUsageList[0].userValue = FLT_MAX;
mMeshLodUsageList[0].value = FLT_MAX;
}
As you can tell, this is related to "Pixel" lod strategies only.


http://www.ogre3d.org/forums/viewtopic.php?f=4&t=59531&p=485920#p485920
When loading a mesh through mesh serializer, the LOD strategies are ordered incorrectly, and gets stuck on the highest level when rendering (never switching to lower details).