Skip to content

Commit 0463b4a

Browse files
createShaderBasedTechnique
1 parent c444f28 commit 0463b4a

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/rviz/ogre_helpers/qt_ogre_render_window.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
#include <OgreGpuProgramManager.h>
4040
#include <OgreRenderTargetListener.h>
4141

42+
#include <OgreRTShaderSystem.h>
43+
4244
#include <ros/console.h>
4345
#include <ros/assert.h>
4446

@@ -74,6 +76,8 @@ QtOgreRenderWindow::QtOgreRenderWindow(QWidget* parent)
7476
viewport_->setOverlaysEnabled(overlays_enabled_);
7577
viewport_->setBackgroundColour(background_color_);
7678

79+
viewport_->setMaterialScheme(Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME);
80+
7781
#if OGRE_STEREO_ENABLE
7882
viewport_->setDrawBuffer(Ogre::CBT_BACK);
7983
#endif

src/rviz/robot/robot_link.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
#include <OgreTextureManager.h>
4040
#include <OgreSharedPtr.h>
4141
#include <OgreTechnique.h>
42+
#include <OgreRTShaderSystem.h>
4243

4344
#include <ros/console.h>
4445

@@ -206,6 +207,8 @@ RobotLink::RobotLink(Robot* robot,
206207
nullptr, material_name, 0, Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME));
207208
color_material_->setReceiveShadows(false);
208209
color_material_->getTechnique(0)->setLightingEnabled(true);
210+
//create RTSS shader
211+
Ogre::RTShader::ShaderGenerator::getSingleton().createShaderBasedTechnique(*color_material_, Ogre::MaterialManager::DEFAULT_SCHEME_NAME, Ogre::RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME);
209212

210213
// create the ogre objects to display
211214

src/rviz/visualization_manager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,12 @@ VisualizationManager::VisualizationManager(RenderPanel* render_panel,
164164
Ogre::MaterialManager::getSingleton().addListener(private_->material_mgr_listener_);
165165
//}
166166

167+
168+
// forward scheme not found events to the RTSS
169+
OgreBites::SGTechniqueResolverListener* schemeNotFoundHandler = new OgreBites::SGTechniqueResolverListener(shadergen);
170+
Ogre::MaterialManager::getSingleton().addListener(schemeNotFoundHandler);
171+
172+
167173
// We need to wait with resource initialization till the RTShaderSystem is enabled
168174
rviz::RenderSystem::RenderSystem::get()->initialiseResources();
169175

0 commit comments

Comments
 (0)