From 924ba11826f0798bf294505655cf60df39efd614 Mon Sep 17 00:00:00 2001 From: Cody Glassman Date: Sun, 26 Feb 2023 09:32:25 -0800 Subject: [PATCH] Default shader at root Assign a default shader to the scene root, otherwise objects without an assigned shader will use the FFP. An example of this is a trishape with no material, resulting in an empty stateset on the drawable level. --- apps/openmw/mwrender/renderingmanager.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/openmw/mwrender/renderingmanager.cpp b/apps/openmw/mwrender/renderingmanager.cpp index f92c08fd64..7568150833 100644 --- a/apps/openmw/mwrender/renderingmanager.cpp +++ b/apps/openmw/mwrender/renderingmanager.cpp @@ -612,6 +612,9 @@ namespace MWRender mRootNode->getOrCreateStateSet()->setAttributeAndModes(clipcontrol, osg::StateAttribute::ON); } + // Assign a default shader on root to handle empty statesets + mResourceSystem->getSceneManager()->recreateShaders(mRootNode, "objects"); + SceneUtil::setCameraClearDepth(mViewer->getCamera()); updateProjectionMatrix();