forked from bartvdbraak/blender
Freestyle: Progress bar updates during mesh loading.
This commit is contained in:
parent
dd96be356d
commit
e7c92f1145
@ -28,6 +28,8 @@
|
||||
|
||||
#include "BKE_global.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
namespace Freestyle {
|
||||
|
||||
BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
|
||||
@ -38,6 +40,7 @@ BlenderFileLoader::BlenderFileLoader(Render *re, SceneRenderLayer *srl)
|
||||
_numFacesRead = 0;
|
||||
_minEdgeSize = DBL_MAX;
|
||||
_smooth = (srl->freestyleConfig.flags & FREESTYLE_FACE_SMOOTHNESS_FLAG) != 0;
|
||||
_pRenderMonitor = NULL;
|
||||
}
|
||||
|
||||
BlenderFileLoader::~BlenderFileLoader()
|
||||
@ -86,9 +89,21 @@ NodeGroup *BlenderFileLoader::Load()
|
||||
#endif
|
||||
|
||||
int id = 0;
|
||||
unsigned cnt = 1;
|
||||
unsigned cntStep = (unsigned)ceil(0.01f * _re->totinstance);
|
||||
for (obi = (ObjectInstanceRen *)_re->instancetable.first; obi; obi = obi->next) {
|
||||
if (_pRenderMonitor && _pRenderMonitor->testBreak())
|
||||
if (_pRenderMonitor) {
|
||||
if (_pRenderMonitor->testBreak())
|
||||
break;
|
||||
if (cnt % cntStep == 0) {
|
||||
stringstream ss;
|
||||
ss << "Freestyle: Mesh loading " << (100 * cnt / _re->totinstance) << "%";
|
||||
_pRenderMonitor->setInfo(ss.str());
|
||||
_pRenderMonitor->progress((float)cnt / _re->totinstance);
|
||||
}
|
||||
cnt++;
|
||||
}
|
||||
|
||||
if (!(obi->lay & _srl->lay))
|
||||
continue;
|
||||
char *name = obi->ob->id.name;
|
||||
|
Loading…
Reference in New Issue
Block a user