mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-28 21:07:59 +03:00
loadingscreen
Signed-off-by: Bret Curtis <psi29a@gmail.com>
This commit is contained in:
parent
da92ad329b
commit
ffbed7ee38
8 changed files with 88 additions and 12 deletions
|
@ -509,7 +509,7 @@ View* QuadTreeWorld::createView()
|
|||
return new ViewData;
|
||||
}
|
||||
|
||||
void QuadTreeWorld::preload(View *view, const osg::Vec3f &viewPoint, const osg::Vec4i &grid, std::atomic<bool> &abort)
|
||||
void QuadTreeWorld::preload(View *view, const osg::Vec3f &viewPoint, const osg::Vec4i &grid, std::atomic<bool> &abort, std::atomic<int> &progress, int& progressTotal)
|
||||
{
|
||||
ensureQuadTreeBuilt();
|
||||
|
||||
|
@ -519,12 +519,16 @@ void QuadTreeWorld::preload(View *view, const osg::Vec3f &viewPoint, const osg::
|
|||
DefaultLodCallback lodCallback(mLodFactor, MIN_SIZE, grid);
|
||||
mRootNode->traverseNodes(vd, viewPoint, &lodCallback, mViewDistance);
|
||||
|
||||
const float cellWorldSize = mStorage->getCellWorldSize();
|
||||
if (!progressTotal)
|
||||
for (unsigned int i=0; i<vd->getNumEntries(); ++i)
|
||||
progressTotal += vd->getEntry(i).mNode->getSize();
|
||||
|
||||
const float cellWorldSize = mStorage->getCellWorldSize();
|
||||
for (unsigned int i=0; i<vd->getNumEntries() && !abort; ++i)
|
||||
{
|
||||
ViewData::Entry& entry = vd->getEntry(i);
|
||||
loadRenderingNode(entry, vd, mVertexLodMod, cellWorldSize, grid, mChunkManagers, true);
|
||||
progress += entry.mNode->getSize();
|
||||
}
|
||||
vd->markUnchanged();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue