Skip to content

Commit 76d8d56

Browse files
initialize resources only after the RTShaderSystem has been started
1 parent 65cd88a commit 76d8d56

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

src/rviz/ogre_helpers/render_system.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,6 @@ RenderSystem::RenderSystem() : ogre_overlay_system_(nullptr), stereo_supported_(
115115
makeRenderWindow(dummy_window_id_, 1, 1);
116116
detectGlVersion();
117117
setupResources();
118-
Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
119118
}
120119

121120
void RenderSystem::prepareOverlays(Ogre::SceneManager* scene_manager)
@@ -124,6 +123,11 @@ void RenderSystem::prepareOverlays(Ogre::SceneManager* scene_manager)
124123
scene_manager->addRenderQueueListener(ogre_overlay_system_);
125124
}
126125

126+
void RenderSystem::initialiseResources()
127+
{
128+
Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
129+
}
130+
127131
void RenderSystem::setupDummyWindowId()
128132
{
129133
#if defined(Q_OS_MAC) || defined(Q_OS_WIN)

src/rviz/ogre_helpers/render_system.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ class RVIZ_EXPORT RenderSystem
6767
// Needed for Ogre >= 1.9 to use fonts; does nothing for prior versions.
6868
void prepareOverlays(Ogre::SceneManager* scene_manager);
6969

70+
void initialiseResources();
71+
7072
// @brief return OpenGl Version as integer, e.g. 320 for OpenGl 3.20
7173
int getGlVersion()
7274
{

src/rviz/visualization_manager.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@ VisualizationManager::VisualizationManager(RenderPanel* render_panel,
161161
Ogre::MaterialManager::getSingleton().addListener(private_->material_mgr_listener_);
162162
//}
163163

164+
// We need to wait with resource initialization till the RTShaderSystem is enabled
165+
rviz::RenderSystem::RenderSystem::get()->initialiseResources();
166+
164167
directional_light_ = scene_manager_->createLight("MainDirectional");
165168
directional_light_->setType(Ogre::Light::LT_DIRECTIONAL);
166169
directional_light_->setDirection(Ogre::Vector3(-1, 0, -1));

0 commit comments

Comments
 (0)