forked from mirror/openmw-tes3mp
better place for syncing
This commit is contained in:
parent
596628d339
commit
58cf182db2
1 changed files with 10 additions and 10 deletions
|
@ -152,16 +152,6 @@ namespace MWRender
|
||||||
|
|
||||||
mTerrainGroup.loadTerrain(terrainX, terrainY, true);
|
mTerrainGroup.loadTerrain(terrainX, terrainY, true);
|
||||||
|
|
||||||
// when loading from a heightmap, Ogre::Terrain does not update the derived data (normal map, LOD)
|
|
||||||
// synchronously, even if we supply synchronous = true parameter to loadTerrain.
|
|
||||||
// the following to be the only way to make sure derived data is ready when rendering the next frame.
|
|
||||||
while (mTerrainGroup.isDerivedDataUpdateInProgress())
|
|
||||||
{
|
|
||||||
// we need to wait for this to finish
|
|
||||||
OGRE_THREAD_SLEEP(5);
|
|
||||||
Root::getSingleton().getWorkQueue()->processResponses();
|
|
||||||
}
|
|
||||||
|
|
||||||
Terrain* terrain = mTerrainGroup.getTerrain(terrainX, terrainY);
|
Terrain* terrain = mTerrainGroup.getTerrain(terrainX, terrainY);
|
||||||
initTerrainBlendMaps(terrain,
|
initTerrainBlendMaps(terrain,
|
||||||
cellX, cellY,
|
cellX, cellY,
|
||||||
|
@ -189,6 +179,16 @@ namespace MWRender
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// when loading from a heightmap, Ogre::Terrain does not update the derived data (normal map, LOD)
|
||||||
|
// synchronously, even if we supply synchronous = true parameter to loadTerrain.
|
||||||
|
// the following to be the only way to make sure derived data is ready when rendering the next frame.
|
||||||
|
while (mTerrainGroup.isDerivedDataUpdateInProgress())
|
||||||
|
{
|
||||||
|
// we need to wait for this to finish
|
||||||
|
OGRE_THREAD_SLEEP(5);
|
||||||
|
Root::getSingleton().getWorkQueue()->processResponses();
|
||||||
|
}
|
||||||
|
|
||||||
mTerrainGroup.freeTemporaryResources();
|
mTerrainGroup.freeTemporaryResources();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue