Does anyone spot any obvious errors in following code?
Code: Select all
// Create window with requested properties
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
glfwWindowHint(GLFW_SAMPLES, fsaa);
m_Window = glfwCreateWindow(width, height, m_Title.c_str(), monitor, 0);
// Set created GL context current (NOTE: this has to be done before loading Ogre renderer,
// otherwise GLXBadContextTag errors occur at exit)
glfwMakeContextCurrent(m_Window);
// Load OpenGL render system
m_Root->loadPlugin("lib/RenderSystem_GL.so");
// Choose first available renderer
Ogre::RenderSystemList renderers = m_Root->getAvailableRenderers();
if(renderers.empty())
{
fg::Log::error("No renderers available");
OGRE_EXCEPT(Ogre::Exception::ERR_INTERNAL_ERROR, "No renderers available",
"OgreApplication::initialize");
}
m_Root->setRenderSystem(renderers[0]);
// Initialize Ogre
m_Root->initialise(false);
// Set up Ogre render window
Ogre::NameValuePairList misc;
misc["parentWindowHandle"] = Ogre::StringConverter::toString((unsigned long)glfwGetX11Window(m_Window));
misc["currentGLContext"] = "true";
misc["externalGLControl"] = "true";
m_RenderWindow = m_Root->createRenderWindow(m_Title, width, height, false, &misc);
Code: Select all
while(true)
{
Ogre::WindowEventUtilities::messagePump();
if(!m_Root->renderOneFrame())
{
break;
}
glfwSwapBuffers(m_Window);
glfwPollEvents();
}