Gui: fix screenshot
This commit is contained in:
@@ -2022,7 +2022,7 @@ QImage View3DInventorViewer::grabFramebuffer()
|
||||
int w = gl->width();
|
||||
int h = gl->height();
|
||||
QImage img(QSize(w,h), QImage::Format_RGB32);
|
||||
glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, img.bits());
|
||||
glReadPixels(0, 0, w, h, GL_BGRA, GL_UNSIGNED_BYTE, img.bits());
|
||||
res = img;
|
||||
#else
|
||||
const SbViewportRegion vp = this->getSoRenderManager()->getViewportRegion();
|
||||
|
||||
@@ -617,6 +617,15 @@ void SoBrepFaceSet::GLRender(SoGLRenderAction *action)
|
||||
// material override with transparncy won't work.
|
||||
mb.sendFirst();
|
||||
|
||||
if(SoShapeStyleElement::get(state)->getFlags()
|
||||
& (SoShapeStyleElement::TRANSP_TEXTURE|SoShapeStyleElement::TRANSP_MATERIAL))
|
||||
{
|
||||
// For some reason, there is an inconsistence in blending state between
|
||||
// OpenGL and Coin, especially when doing offscreen rendering.
|
||||
if(!glIsEnabled(GL_BLEND))
|
||||
glEnable(GL_BLEND);
|
||||
}
|
||||
|
||||
// When setting transparency shouldGLRender() handles the rendering and returns false.
|
||||
// Therefore generatePrimitives() needs to be re-implemented to handle the materials
|
||||
// correctly.
|
||||
|
||||
Reference in New Issue
Block a user