git-svn-id: svn://db.shs.com.ru/libs@649 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-04 10:40:14 +00:00
parent f8634df8c7
commit 81c7de74f9
11 changed files with 862 additions and 1331 deletions

View File

@@ -176,11 +176,13 @@ void Renderer::fillObjectsBuffer(const QList<ObjectBase *> & ol, RenderPass pass
void Renderer::renderObjects(Scene & scene, RenderPass pass) {
QOpenGLExtraFunctions * f = view;
QMapIterator<Mesh*, QList<ObjectBase*> > it(scene.geometries_used);
bool emit_pos_change = false;
while (it.hasNext()) {
it.next();
Mesh * mesh = it.key();
if (mesh->objects_changed) {
mesh->objects_changed = false;
emit_pos_change = true;
fillObjectsBuffer(it.value(), pass);
mesh->loadObjects(f, cur_objects_);
}
@@ -191,6 +193,7 @@ void Renderer::renderObjects(Scene & scene, RenderPass pass) {
}
mesh->draw(f, it.value().size());
}
if (emit_pos_change) emit view->objectsPositionChanged();
}