git-svn-id: svn://db.shs.com.ru/libs@663 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -27,7 +27,7 @@ using namespace QGLEngineShaders;
|
||||
|
||||
|
||||
RendererSelection::RendererSelection(Renderer * r_): r(r_),
|
||||
fbo_selection(r->view, 4) {
|
||||
fbo_selection(r->view, 6) {
|
||||
sel_frame = Primitive::plane(2., 2.);
|
||||
id_hover = 0;
|
||||
line_thick_ = 2.;
|
||||
@@ -138,7 +138,7 @@ void RendererSelection::renderSelection(Scene & scene) {
|
||||
//qDebug() << id_hover;
|
||||
fbo_selection.bindColorTexture(sbrSrcHover , sbrSrcHover );
|
||||
fbo_selection.bindColorTexture(sbrSrcSelect, sbrSrcSelect);
|
||||
int wind[2] = {2, 3};
|
||||
int wind[2] = {sbrHovered, sbrSelected};
|
||||
fbo_selection.setWriteBuffers(wind, 2);
|
||||
if (!view->hoverHalo_ && !view->selectionHalo_)
|
||||
glClearFramebuffer(QColor(0,0,0,0), false);
|
||||
@@ -157,6 +157,17 @@ void RendererSelection::renderSelection(Scene & scene) {
|
||||
r->renderQuad(prog, r->quad, view->camera());
|
||||
}
|
||||
|
||||
prog = r->shader_fxaa;
|
||||
if (r->bindShader(prog)) {
|
||||
r->setUniformCamera(prog, 0, true, fbo_selection.size());
|
||||
fbo_selection.bindColorTexture(sbrHovered);
|
||||
fbo_selection.setWriteBuffer(sbrHoveredFXAA);
|
||||
r->renderQuad(prog, r->quad, 0, false);
|
||||
fbo_selection.bindColorTexture(sbrSelected);
|
||||
fbo_selection.setWriteBuffer(sbrSelectedFXAA);
|
||||
r->renderQuad(prog, r->quad, 0, false);
|
||||
}
|
||||
|
||||
fbo_selection.release();
|
||||
}
|
||||
}
|
||||
@@ -187,8 +198,8 @@ void RendererSelection::drawSelection(Framebuffer & fbo_out, int index_out) {
|
||||
fbo_selection.bindColorTextures();
|
||||
fbo_out.bindColorTexture(index_out);
|
||||
prog->setUniformValue("fb_out" , 0);
|
||||
prog->setUniformValue("fb_hover" , (int)sbrHovered );
|
||||
prog->setUniformValue("fb_select", (int)sbrSelected);
|
||||
prog->setUniformValue("fb_hover" , (int)sbrHoveredFXAA );
|
||||
prog->setUniformValue("fb_select", (int)sbrSelectedFXAA);
|
||||
r->renderQuad(prog, r->quad, r->view->camera());
|
||||
if (!r->mouse_rect.isNull()) {
|
||||
renderSelectionFrame();
|
||||
|
||||
Reference in New Issue
Block a user