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

This commit is contained in:
2019-11-24 18:49:53 +00:00
parent dbdda8ea3d
commit 6c8da692e2
14 changed files with 403 additions and 30 deletions

View File

@@ -78,6 +78,13 @@ void RendererSelection::fillSelectionsBuffer(const QList<ObjectBase *> & ol) {
}
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;
@@ -118,6 +125,16 @@ void RendererSelection::renderSelection(Scene & scene) {
rs.omni_mesh->loadSelections(view, cur_selections_);
rs.omni_mesh->draw(view, rs.cur_objects.size());
if (rs.fillCurrentHandleObjects()) {
Mesh * hm = rs.currentHandleMesh();
if (hm) {
hm->loadObjects(view, rs.cur_objects);
fillSelectionsBuffer(false, 3);
hm->loadSelections(view, cur_selections_);
hm->draw(view, 3);
}
}
//mouse_rect = fbo_selection.rect();
if (r->mouse_rect.isNull())
fbo_selection.queryPoint(0, r->mouse_pos);