git-svn-id: svn://db.shs.com.ru/libs@636 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -62,29 +62,18 @@ void RendererSelection::generateObjectsID(Scene & scene) {
|
||||
o->id_ = id;
|
||||
}
|
||||
}
|
||||
foreach (ObjectBase * o, scene.lights_used) {
|
||||
uint id = qHash(o);
|
||||
ids[id] = o;
|
||||
o->id_ = id;
|
||||
QMapIterator<int, QList<Light*>> lit(scene.lights_used);
|
||||
while (lit.hasNext()) {
|
||||
lit.next();
|
||||
foreach (ObjectBase * o, lit.value()) {
|
||||
uint id = qHash(o);
|
||||
ids[id] = o;
|
||||
o->id_ = id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RendererSelection::fillSelectionsBuffer(const QList<ObjectBase *> & ol) {
|
||||
cur_selections_.resize(ol.size());
|
||||
for (int i = 0; i < ol.size(); ++i) {
|
||||
cur_selections_[i] = (ol[i]->isSelected(true) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void RendererSelection::fillSelectionsBuffer(bool yes, int size) {
|
||||
cur_selections_.resize(size);
|
||||
for (int i = 0; i < size; ++i)
|
||||
cur_selections_[i] = (yes ? 1 : 0);
|
||||
}
|
||||
|
||||
|
||||
void RendererSelection::renderSelection(Scene & scene) {
|
||||
QOpenGLShaderProgram * prog = 0;
|
||||
QGLView * view = r->view;
|
||||
@@ -120,12 +109,7 @@ void RendererSelection::renderSelection(Scene & scene) {
|
||||
view->glClear(GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
RendererService & rs(r->rend_service);
|
||||
rs.fillOmniObjects();
|
||||
rs.omni_mesh->loadObjects(view, rs.cur_objects);
|
||||
fillSelectionsBuffer(light2objectList(scene.lights_used));
|
||||
rs.omni_mesh->loadSelections(view, cur_selections_);
|
||||
rs.omni_mesh->draw(view, rs.cur_objects.size());
|
||||
|
||||
rs.drawLights();
|
||||
rs.drawCurrentHandleObjects();
|
||||
|
||||
//mouse_rect = fbo_selection.rect();
|
||||
|
||||
Reference in New Issue
Block a user