From bd685d672d3d996464f6b8c77b01d864cf9b13a6 Mon Sep 17 00:00:00 2001 From: AnyOldName3 Date: Tue, 9 Dec 2025 17:25:59 +0000 Subject: [PATCH] Set RTT FBO format, too. --- apps/opencs/main.cpp | 2 +- apps/opencs/view/render/scenewidget.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/opencs/main.cpp b/apps/opencs/main.cpp index c7c35a192d..844a7895e8 100644 --- a/apps/opencs/main.cpp +++ b/apps/opencs/main.cpp @@ -35,7 +35,7 @@ void setQSurfaceFormat() format.setSamples(ds->getMultiSamples()); format.setStencilBufferSize(ds->getMinimumNumStencilBits()); format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); - format.setAlphaBufferSize(0); + format.setAlphaBufferSize(ds->getMinimumNumAlphaBits()); QSurfaceFormat::setDefaultFormat(format); } diff --git a/apps/opencs/view/render/scenewidget.cpp b/apps/opencs/view/render/scenewidget.cpp index 5e8db03cf8..edb75cbd25 100644 --- a/apps/opencs/view/render/scenewidget.cpp +++ b/apps/opencs/view/render/scenewidget.cpp @@ -72,6 +72,11 @@ namespace CSVRender mWidget = new osgQOpenGLWidget(this); + // not the most idiomatic place to do this, but osgQt needs its guts rearranging to do things properly + // we *should* be setting this on the default osg::DisplaySettings instance (or relying on the fact that we want the default) or the View's instance + // then osgQt should, but doesn't, use that to create a GraphicsTraits instance, and propagate the details from that to Qt for us + mWidget->setTextureFormat(GL_RGB8); + mRenderer = mWidget->getCompositeViewer(); osg::ref_ptr window = new osgViewer::GraphicsWindowEmbedded(0, 0, width(), height());