Unable to start OGRE with Window hidden.

Problems building or running the engine, queries about how to use features etc.
Post Reply
BeastBurst
Gnoblar
Posts: 6
Joined: Mon Feb 27, 2023 7:38 pm

Unable to start OGRE with Window hidden.

Post by BeastBurst »

Ogre Version: :?: 13.6.2
Operating System: :?: Ubuntu 22.04
Render System: :?: OpenGL 3+

Code: Select all

class OgreTest {
public:
    OgreTest(OgreTest const &) = delete;
    OgreTest(OgreTest &&) = delete;

OgreTest& operator= (OgreTest const&) = delete;
OgreTest& operator= (OgreTest&&) = delete;
static OgreTest* instance(){
    static OgreTest instance;
    return &instance;
}
void Init()
{
    ctx = new OgreBites::ApplicationContext("Test Window");
    ctx->initApp();
    ctx->getRenderWindow()->setHidden(true);
    root = ctx->getRoot();
    ogreScene = root->createSceneManager();
    ogreHeadScene = root->createSceneManager();
    shadergen = Ogre::RTShader::ShaderGenerator::getSingletonPtr();
    shadergen->addSceneManager(ogreScene);
    shadergen->addSceneManager(ogreHeadScene);
    ctx->addInputListener(&keyHandler);
}
private:
    OgreTest(){
    }

Ogre::Root* root;
~OgreTest() = default;
OgreBites::ApplicationContext* ctx;
Ogre::SceneManager* ogreScene;
Ogre::SceneManager* ogreHeadScene;
Ogre::RTShader::ShaderGenerator* shadergen;
KeyHandler keyHandler;

void Setup(){
    //root = ctx.getRoot();
}

public:
    void showOgre(){
        Ogre::Light* light = ogreScene->createLight("MainLight");
        Ogre::SceneNode* lightNode = ogreScene->getRootSceneNode()->createChildSceneNode();
        lightNode->setPosition(0, 10, 15);
        lightNode->attachObject(light);

    // also need to tell where we are
    Ogre::SceneNode* camNode = ogreScene->getRootSceneNode()->createChildSceneNode();
    camNode->setPosition(0, 0, 15);
    camNode->lookAt(Ogre::Vector3(0, 0, -1), Ogre::Node::TS_PARENT);

    // create the camera
    Ogre::Camera* cam = ogreScene->createCamera("myCam");
    cam->setNearClipDistance(5); // specific to this sample
    cam->setAutoAspectRatio(true);
    camNode->attachObject(cam);

    // and tell it to render into the main window
    ctx->getRenderWindow()->addViewport(cam);

    // finally something to render
    Ogre::Entity* ent = ogreScene->createEntity("Sinbad.mesh");
    Ogre::SceneNode* node = ogreScene->getRootSceneNode()->createChildSceneNode();
    node->attachObject(ent);

    ctx->getRoot()->startRendering();
    ctx->closeApp();
}
void showOgreHead(){
    Ogre::Light* light = ogreScene->createLight("MainLight");
    Ogre::SceneNode* lightNode = ogreScene->getRootSceneNode()->createChildSceneNode();
    lightNode->setPosition(0, 10, 220);
    lightNode->attachObject(light);

    // also need to tell where we are
    Ogre::SceneNode* camNode = ogreScene->getRootSceneNode()->createChildSceneNode();
    camNode->setPosition(0, 0, 230);
    camNode->lookAt(Ogre::Vector3(0, 0, -1), Ogre::Node::TS_PARENT);

    // create the camera
    Ogre::Camera* cam = ogreScene->createCamera("myCam");
    cam->setNearClipDistance(5); // specific to this sample
    cam->setAutoAspectRatio(true);
    camNode->attachObject(cam);

    // and tell it to render into the main window
    ctx->getRenderWindow()->addViewport(cam);

    // finally something to render
    Ogre::Entity* ent = ogreScene->createEntity("ogrehead.mesh");
    Ogre::SceneNode* node = ogreScene->getRootSceneNode()->createChildSceneNode();
    node->attachObject(ent);
    ctx->getRoot()->startRendering();
    ctx->closeApp();
}

};

#define sOgre3d OgreTest::instance()

As you can see I run the following line:

Code: Select all

ctx->getRenderWindow()->setHidden(true);

But OGRE always starts with window making me unable to hide the main window.
Any idea how can I do that or what am I doing wrong ?

paroj
OGRE Team Member
OGRE Team Member
Posts: 1995
Joined: Sun Mar 30, 2014 2:51 pm
x 1075
Contact:

Re: Unable to start OGRE with Window hidden.

Post by paroj »

try compiling ogre with OGRE_GLSUPPORT_USE_EGL=OFF

BeastBurst
Gnoblar
Posts: 6
Joined: Mon Feb 27, 2023 7:38 pm

Re: Unable to start OGRE with Window hidden.

Post by BeastBurst »

Do you see any issue with the code or I just need to recompile ?

BeastBurst
Gnoblar
Posts: 6
Joined: Mon Feb 27, 2023 7:38 pm

Re: Unable to start OGRE with Window hidden.

Post by BeastBurst »

Tried that and the result is same. Any idea ?

Post Reply