Создание приложения для Ubuntu с использованием Ogre3D, CEGUI, OIS, которое теперь все компилируется и работает, как и ожидалось. Запустив базовое приложение, я решил создать собственный файл конфигурации, в котором я могу хранить как графические параметры (например, разрешение, полноэкранный режим и т. Д.), Так и другие настраиваемые параметры, которые мне понадобятся в приложении.
В качестве отправной точки я изменил с вызова mRoot-> showConfigDialog () при каждом запуске на:
if(!mRoot->restoreConfig())
mRoot->showConfigDialog();
это было предназначено для восстановления конфигурации из файла 'ogre.cfg', который существует, и так оно и было, но получил загрузку текстуры скайбокса при первом создании сцены и просто сидел там, ничего не делая.
Так как это было совсем не то, что я хотел, я попытался настроить их вручную, например:
RenderSystem *rs = mRoot->getRenderSystemByName("OpenGL Rendering Subsystem");
mRoot->setRenderSystem(rs);
rs->setConfigOption("Full Screen","No");
rs->setConfigOption("Video Mode","1024 x 768");
Они соответствуют настройкам из 'ogre.cfg', которые я использовал ранее из функции showConfigDialog (). У меня возникла та же проблема с этой ручной настройкой, но при загрузке текстур скайбокса она просто останавливается.
Я не могу понять, почему эти изменения имеют какое-либо отношение к тому, как работает приложение, и, поскольку OIS захватывает ввод и привязывает мышь к экрану, у меня возникают проблемы при попытке отладить его с помощью gdb.