Code: Select all
::Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
If a resource group contains shader source code the resource manager tries to verify that the shader is of a supported type.
Since the render system has not set the capabilities yet the second statement in the code below retrieves an uninitialized pointer and tries to use it.
Code: Select all
bool GpuProgramManager::isSyntaxSupported(const String& syntaxCode) const
{
// Use the current render system
RenderSystem* rs = Root::getSingleton().getRenderSystem();
// Get the supported syntax from RenderSystemCapabilities
return rs->getCapabilities()->isShaderProfileSupported(syntaxCode);
}
If they are invalid it might suggest to the user that they must create a valid render window before initializing the resource groups.