IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ogre Discussion :

2 fenêtres ogre active en même temps


Sujet :

Ogre

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut 2 fenêtres ogre active en même temps
    Bonjour


    j'ai une application 3d Ogre en pleine écran, et je souhaite ajouter une autre fenêtre sur un deuxième écran qui communique avec mon application 3D.
    mais je ne vois pas trop comment je peux réaliser cela.

    1ere idée : faire deux exe différents qui communique entre eux ( mais ça créer des problèmes de gestion la souris , et de si fenêtre active ou non )
    par exemple mon curseur de souris ne peut pas sortir de ma fenêtre 3D en pleine écran
    si c'est ma fenêtre sur le coté qui est active l'application 3d n'est plus mise a jour


    2eme idée : faire un processus fils pour ma fenêtre ( ou l'inverse je sais pas ). ça permettrait que mes 2 applications soient actives en même temps ?
    mais là je ne sais pas si c'est réalisable ( et comment réagirait ma souris ( pour sortir de la fenêtre 3D )

    3eme idée : mettre les 2 écrans en extensions horizontale et faire 2 viewports ( 1 pour ma 3D , 1 pour mon interface ) que je sépare à la limite des 2 écrans
    mais ça m'a l'air pas très "propre" niveau programmation, en tout cas au niveau communication ça serait beaucoup plus simple.


    j'espère avoir été assez clair.

    merci de votre aide.

    Boboss

  2. #2
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Encore plus simple,tu créer 2 Ogre::RenderWindow

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    plus precisement comment tu fais pour creer 2 fenetres avec 2 renderWindow pour que les 2 soient actives en même temps ?

    un petit exemple serait bienvenue

  4. #4
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    salut.En gros,tu créer 2 cameras,2 Viewport et 2 RenderWindow.Chaque Window est "connecté" a sa camera,et elle affiche se que la camera vois.Eventuelement,tu peu utiliser de SceneManegers differents.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    		  Ogre::Root* pRoot = new Root();
    		  pRoot->showConfigDialog();
    		  Ogre::RenderWindow* pRenderWindow1=pRoot->initialise(true,"Window1");
    		  Ogre::RenderWindow* pRenderWindow2=pRoot->initialise(true,"Window2");
    		  Ogre::SceneManager* pSceneManager=pRoot->createSceneManager(ST_GENERIC,"MonGestionnaireDeScene");
     
    		  Ogre::Camera* pCamera1=pSceneManager->createCamera("MaCamera1");
    		  pCamera1->setPosition(Ogre::Vector3(300,0,300));
    		  pCamera1->lookAt(Ogre::Vector3(0,0,0));
     
    		  Ogre::Camera* pCamera2=pSceneManager->createCamera("MaCamera2");
    		  pCamera2->setPosition(Ogre::Vector3(0,0,300));
    		  pCamera2->lookAt(Ogre::Vector3(0,0,00));
     
    		  Ogre::Viewport* pViewport = pRenderWindow1->addViewport(pCamera1);
    		  Ogre::Viewport* pViewport2 = pRenderWindow2->addViewport(pCamera2);
     
    		  Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../media/models","FileSystem","General");
    		  Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/scripts","FileSystem","General");
    		  Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/textures","FileSystem","General"); 
    		  Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../media/materials/programs","FileSystem","General");
    		  Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
     
    		  Ogre::Entity* pEntity1 = pSceneManager->createEntity( "Robot", "ninja.mesh" ); 
    		  Ogre::SceneNode* pNode1 = pSceneManager->getRootSceneNode()->createChildSceneNode("Robot");
    		  pNode1->attachObject(pEntity1);
    		  pNode1->setPosition(Ogre::Vector3(0,0,0));
     
    		  pRoot->startRendering();

  5. #5
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    merci beaucoup de cette reponse je vais tester ça

  6. #6
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    alors ça marche presque bien merci gus
    j'ai bien mes deux fenetres windows avec ce que je veux dedans
    mais elles ne sont pas active en même temps.
    il faut que je clique sur une fenêtre pour la rendre active ( ce qui est logique)

    comment resoudre ce petit soucis ?

  7. #7
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    salut.Voila la fonction qu'il te faut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pRenderWindow->update();
    tu la met dans le framelistener,et le tour est joué

  8. #8
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    C'est parfait


    merci beaucoup

  9. #9
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    il me reste un petit soucis. pas moyen de mettre une fenetre en pleine ecran ?
    ça plante a l'execution.

    Il me dit :

    OGRE EXCEPTION ( 2:InvalidParametersException ) : cannot create secondary windows when the primary is fullscreen in D3D9RenderSystem::createRenderWindow

  10. #10
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    essay en OpenGL....Sinon je ne voi pas comment contourner se probleme,n'etant pas un "expert" dans le fenetrage sous windows(et sous linux aussi d'ailleur).

  11. #11
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    en openGL ça fonctionne correctement.
    mais cependant j'aimerais rester sous directX.

    si quelqu'un a une idée du pourquoi ?

  12. #12
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Les choses ne sont pas gerer de la même maniere au niveau des fenetres sous DirectX.Pourquoi souhaite tu rester sous directX?A cause des shader?

  13. #13
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    non même pas, c'est plutot par habitude car je maitrise mieux directx qu'openGL.

  14. #14
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Si tu utilise Ogre,tu ne compte pas utiliser DirectX directement,a part avec les shaders,donc sa ne change rien

  15. #15
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    je suis tout a fait d'accord, j'ai aucune raison valable de rester sur directX

  16. #16
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 44
    Points
    44
    Par défaut
    encore un petit soucis.
    maintenant c'est l'OIS qui me pose probléme. il ne fonctionne que sur ma première fenêtre active.
    si je clique sur l'autre fenetre mes entrées clavier ( par exemple) ne fonctionne plus.
    j'aimerais que quelque soit la fenetre vraiment active L'OIS fonctionne pareil.

  17. #17
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    La je ne sais pas...Je ne connais pas bien OIS et je me limite au fonctions de base.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. JSlider de deux fenêtres diff. évoluent en même temps
    Par alex2746 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/01/2010, 22h43
  2. Tous mes boutons s'activent en même temps.
    Par 71jayjay71 dans le forum Langage
    Réponses: 1
    Dernier message: 11/12/2009, 18h36
  3. Redimensionner fenêtre et MSFlexgrid en même temps
    Par LeBob14 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/05/2009, 10h32
  4. 2 buttons option activée en même temps
    Par amazircool dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/11/2007, 03h41
  5. [JFrame] Désiconifier toutes les autres fenêtres en même temps
    Par stoukou dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 07/10/2005, 12h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo