The ShaderGenerator constructor throw exception call
Code: Select all
if (hmgr.isLanguageSupported("glsles"))
{
mShaderLanguage = "glsles";
}
else if (hmgr.isLanguageSupported("cg"))
{
mShaderLanguage = "cg";
}
else if (hmgr.isLanguageSupported("glsl"))
{
mShaderLanguage = "glsl";
}
else if (hmgr.isLanguageSupported("hlsl"))
{
mShaderLanguage = "hlsl";
}
else
{
OGRE_EXCEPT( Exception::ERR_INTERNAL_ERROR,
"ShaderGenerator creation error: None of the profiles is supported.",
"ShaderGenerator::ShaderGenerator" );
}
Code: Select all
RenderSystem::initialiseFromRenderSystemCapabilities(RenderSystemCapabilities* caps, RenderTarget* primary);
Code: Select all
void GLES2RenderSystem::initialiseFromRenderSystemCapabilities(RenderSystemCapabilities* caps, RenderTarget* primary)
{
if(caps->getRenderSystemName() != getName())
{
OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS,
"Trying to initialize GLES2RenderSystem from RenderSystemCapabilities that do not support OpenGL ES",
"GLES2RenderSystem::initialiseFromRenderSystemCapabilities");
}
mGpuProgramManager = OGRE_NEW GLES2GpuProgramManager();
mGLSLESProgramFactory = OGRE_NEW GLSLESProgramFactory();
HighLevelGpuProgramManager::getSingleton().addFactory(mGLSLESProgramFactory);
It's can be call at RenderSystem::_initialise(bool autoCreateWindow, const String& windowTitle);
or ignore the RTShaderSystem initialize HighLevelGpuProgramManager checking at constructor?