Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/06/2009, à 13:49

Babilomax

Utiliser Ogre : quelle galère !

Bonjour,
Je voudrais utiliser le moteur 3D OGRE dans une application. J'ai donc installé le paquet libogre-dev.
Mais voilà, comment utiliser ce moteur ? En effet, les exemples du wiki utilisent des include étrange :

#include "ExampleApplication.h"

Ces exemples (première application ou application minimale) ne compilent pas. En effet, gcc ne trouve pas ExampleApplication.h, avec la comande suivante :

g++ `pkg-config --cflags --libs OGRE OIS` SampleApp.cpp

Même un 'find / -name "ExampleApplication.*"' ne donne rien chez moi.

Je m'interroge donc. Mise à jour du moteur, mauvaise install' (faut-il compiler les sources ?), mauvais examples d'application ?
Merci d'avance. smile

Hors ligne

#2 Le 04/06/2009, à 14:02

kuri

Re : Utiliser Ogre : quelle galère !

je suppose que ExampleApplication.h  doit contenir les prototypes de tes fonctions, et les includes generaux, c est a toi de le creer ce header visiblement, vu les '"'.

Hors ligne

#3 Le 04/06/2009, à 14:18

Link31

Re : Utiliser Ogre : quelle galère !

ExampleApplication.h et ExampleFrameListener.h sont dans le SDK Ogre, et dans l'archive des sources. Tu dois télécharger le paquet source correspondant à ta version de Ogre sur le site du projet, et récupérer ces fichiers à l'intérieur. Apparemment ils ne sont fournis par aucun paquet sous Ubuntu.

Enfin, à titre personnel je te conseille d'éviter au maximum d'utiliser ces headers. Ils donnent l'impression que le moteur 3D est très facile à utiliser, mais ils masquent toute la séquence d'initialisation que tu dois connaître pour écrire de vrais projets. Si tu t'habitues à les utiliser, tu auras beaucoup de mal à t'en passer plus tard et à utiliser Ogre au mieux de ses capacités.

Tu en auras quand même besoin pour compiler de nombreux exemples trouvés sur le web, donc c'est mieux de les avoir sous la main.

Hors ligne

#4 Le 05/06/2009, à 10:07

Babilomax

Re : Utiliser Ogre : quelle galère !

OK, merci, alors que dois-je faire pour pouvoir utiliser OGRE "proprement" ? Refaire ces fichiers moi-même ? (si je reformule la question : sont-ils compréhensibles ?)
Je vais télécharger les sources et regarder ces deux fichiers.

Merci de vos réponses.

Dernière modification par Babilomax (Le 05/06/2009, à 13:16)

Hors ligne

#5 Le 05/06/2009, à 17:51

Link31

Re : Utiliser Ogre : quelle galère !

Il y a des exemples sur le wiki de Ogre qui expliquent comment utiliser Ogre sans ces fichiers header.

Dernière modification par Link31 (Le 05/06/2009, à 17:51)

Hors ligne

#6 Le 06/06/2009, à 12:58

Babilomax

Re : Utiliser Ogre : quelle galère !

Un petit lien, per favore sad
Je ne trouve rien, peux-tu me dire qelle est cette page dont tu parles ?
Merci de ta patience.

Hors ligne

#7 Le 06/06/2009, à 14:42

Babilomax

Re : Utiliser Ogre : quelle galère !

J'ai téléchargé les sources, et repéré ExampleApplication.h et FrameListener.h
Mais... toujours des problèmes ! En effet, il ne compile avec les macros OGRE_NEW et OGRE_DELETE, j'ai donc dû toutes les remplacer par new et delete ! Pas cool !
De plus, l'emplacement de plugins.cfg et resources.cfg est vraiment impossible... et les makefiles fournis ne marchent pas.

Dernière modification par Babilomax (Le 06/06/2009, à 14:46)

Hors ligne

#8 Le 06/06/2009, à 17:46

Link31

Re : Utiliser Ogre : quelle galère !

Babilomax a écrit :

Un petit lien, per favore sad
Je ne trouve rien, peux-tu me dire qelle est cette page dont tu parles ?

http://www.ogre3d.org/wiki/index.php/MinimalApplication

Je n'ai jamais eu de problèmes avec "OGRE_NEW" ou "OGRE_DELETE"... Tu as peut-être récupéré une mauvaise version des fichiers header. Enfin si ça fonctionne avec "new" et "delete", tant mieux.

Pour le plugins.cfg (à mettre dans le même dossier que l'exécutable), voilà un exemple :

# Defines plugins to load

# Define plugin folder
PluginFolder=/usr/lib/OGRE

# Define OpenGL rendering implementation plugin
Plugin=RenderSystem_GL.so
Plugin=Plugin_ParticleFX.so
Plugin=Plugin_BSPSceneManager.so
Plugin=Plugin_OctreeSceneManager.so

# Il faut installer le paquet ogre-plugins-cgprogrammanager pour ce plugin.
# Apparemment il n'est pas disponible sous Ubuntu, mais tu devrais pouvoir installer celui de Debian :
# http://packages.debian.org/lenny/ogre-plugins-cgprogrammanager
Plugin=Plugin_CgProgramManager.so

Pour le fichier resources.cfg (à mettre dans le même dossier), voilà un exemple. Il faudra remplacer @OGRE_MEDIADIR@ par le dossier qui contient les données multimédia des les exemple de Ogre.

# Resource locations to be added to the 'boostrap' path
# This also contains the minimum you need to use the Ogre example framework
[Bootstrap]
Zip=@OGRE_MEDIADIR@/packs/OgreCore.zip

# Resource locations to be added to the default path
[General]
FileSystem=@OGRE_MEDIADIR@
FileSystem=@OGRE_MEDIADIR@/fonts
FileSystem=@OGRE_MEDIADIR@/materials/programs
FileSystem=@OGRE_MEDIADIR@/materials/scripts
FileSystem=@OGRE_MEDIADIR@/materials/textures
FileSystem=@OGRE_MEDIADIR@/models
FileSystem=@OGRE_MEDIADIR@/overlays
FileSystem=@OGRE_MEDIADIR@/particle
FileSystem=@OGRE_MEDIADIR@/gui
FileSystem=@OGRE_MEDIADIR@/PCZAppMedia
Zip=@OGRE_MEDIADIR@/packs/cubemap.zip
Zip=@OGRE_MEDIADIR@/packs/cubemapsJS.zip
Zip=@OGRE_MEDIADIR@/packs/dragon.zip
Zip=@OGRE_MEDIADIR@/packs/fresneldemo.zip
Zip=@OGRE_MEDIADIR@/packs/ogretestmap.zip
Zip=@OGRE_MEDIADIR@/packs/skybox.zip

Il y a un script pour compiler les exemples dans un certain paquet Debian ou Ubuntu, mais impossible de le retrouver... hmm

Tu peux essayer ce script, à lancer depuis le dossier racine des exemples de Ogre (là où sont les dossiers Common, Media, etc.). Attention, ça ne fonctionnera pas correctement si il y a des espaces dans le chemin complet vers ce dossier.

#!/bin/bash
for i in *
do
	echo $i

	if [ -d $i/src ]
	then
		cd $i/src
		g++ *.cpp -I../include -I../../Common/include/ $(pkg-config --libs --cflags OGRE CEGUI OIS) -lCEGUIOgreRenderer -o ../../Common/bin/`pwd|cut -d"/" -f7`
		cd ../..
	fi
done

Les paquets Ogre sous Debian/Ubuntu sont faits n'importe comment, ça ne facilite pas les choses.

Hors ligne

#9 Le 06/06/2009, à 18:48

Babilomax

Re : Utiliser Ogre : quelle galère !

Ok, merci beacoup, je progresse...
À présent, tout semble bien se dérouler jusqu'à cette erreur :

Loading library /usr/lib/OGRE/Plugin_CgProgramManager.so
terminate called after throwing an instance of 'Ogre::InternalErrorException'
  what():  OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library /usr/lib/OGRE/Plugin_CgProgramManager.so.  System Error: /usr/lib/OGRE/Plugin_CgProgramManager.so: cannot open shared object file: No such file or directory in DynLib::load at OgreDynLib.cpp (line 80)
Abandon

Voilà voilà, merci de ton aide.

Hors ligne

#10 Le 06/06/2009, à 18:49

Babilomax

Re : Utiliser Ogre : quelle galère !

Babilomax a écrit :

Ok, merci beacoup, je progresse...
À présent, tout semble bien se dérouler jusqu'à cette erreur :

Loading library /usr/lib/OGRE/Plugin_CgProgramManager.so
terminate called after throwing an instance of 'Ogre::InternalErrorException'
  what():  OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library /usr/lib/OGRE/Plugin_CgProgramManager.so.  System Error: /usr/lib/OGRE/Plugin_CgProgramManager.so: cannot open shared object file: No such file or directory in DynLib::load at OgreDynLib.cpp (line 80)
Abandon

On dirait vraiment que le paquet fourni par Ubuntu n'est pas à jour. Faut-il l'installer depuis les sources ?

Voilà voilà, merci de ton aide.

Hors ligne

#11 Le 06/06/2009, à 19:18

Link31

Re : Utiliser Ogre : quelle galère !

Link31 a écrit :
# Il faut installer le paquet ogre-plugins-cgprogrammanager pour ce plugin.
# Apparemment il n'est pas disponible sous Ubuntu, mais tu devrais pouvoir installer celui de Debian :
# http://packages.debian.org/lenny/ogre-plugins-cgprogrammanager

Hors ligne

#12 Le 06/06/2009, à 21:35

Babilomax

Re : Utiliser Ogre : quelle galère !

Merci, l'erreur a disparu... mais je crois que je vais abandonner :

terminate called after throwing an instance of 'Ogre::InternalErrorException'
  what():  OGRE EXCEPTION(7:InternalErrorException): ~/ogre/Samples/Media/packs/OgreCore.zip - error whilst opening archive: Unable to read zip file. in ZipArchive::checkZzipError at OgreZip.cpp (line 241)
Abandon

Si il me fait ce coup-là 1000 fois, on n'est pas sorti de l'auberge.

Hors ligne

#13 Le 06/06/2009, à 22:21

Link31

Re : Utiliser Ogre : quelle galère !

Le "~" est un raccourci du shell bash et de quelques autres shells/programmes compatibles, mais ça m'étonnerait que Ogre le reconnaisse. Mets ton /home en entier.

Hors ligne

#14 Le 07/06/2009, à 11:04

Babilomax

Re : Utiliser Ogre : quelle galère !

Aaah, enfin, ça marche, merci infiniment wink
Dernière question, peux-tu me dire pourquoi il me demande mon rendu et ma résolution ?
Je veux dire, est-ce dans le programme que j'ai copié ou bien dans OGRE ?
Merci beaucoup.

Hors ligne

#15 Le 25/07/2009, à 22:23

Sniper binaire

Re : Utiliser Ogre : quelle galère !

hello !

désolé de déterrer le topic, mais c'est un pauvre programmeur désespéré qui parle...

de tout les topics parcourus, je me trouve encore avec cette immuable erreur :
HELP !
http://img30.imageshack.us/img30/513/capturedpr.png

Dernière modification par Sniper binaire (Le 25/07/2009, à 22:24)

Hors ligne

#16 Le 26/07/2009, à 00:18

Link31

Re : Utiliser Ogre : quelle galère !

Link31 a écrit :
Link31 a écrit :
# Il faut installer le paquet ogre-plugins-cgprogrammanager pour ce plugin.
# Apparemment il n'est pas disponible sous Ubuntu, mais tu devrais pouvoir installer celui de Debian :
# http://packages.debian.org/lenny/ogre-plugins-cgprogrammanager

Hors ligne

#17 Le 31/07/2009, à 11:07

Sniper binaire

Re : Utiliser Ogre : quelle galère !

Mais je l'ai déja installé, et ne change apparemment rien

Hors ligne