bonjour a tous,
voila je débute sur la 3d avec irrlicht et voila ma première instruction et ma 1er erreur :
#include <stdafx.h>
#include <Irrlicht.h>
#include <iostream>
using namespace irr;
int main(void)
{ irr::IEventReceiver *recever;
irr::IrrlichtDevice *device = irr::createDevice(irr::video::EDT_OPENGL,irr::core::dimension2d<irr::u32>(640,480));
return 0;
}
l'erreur qui me donne est la suivante :
Erreur 1 error C2664: 'irr::createDevice' : impossible de convertir le paramètre 2 de 'irr::core::dimension2d<T>' en 'const irr::core::dimension2d<T> &'
merci d'avance de me résoudre ce probleme et surtout me dire pourquoi.
cordialement.
Hors ligne
En fait je ne vois pas pourquoi cette erreur.
Quelle version d'Irrlicht utilises-tu ?
As-tu essayer de compiler les exemples fournis dans le package ?
Hors ligne
j'utilise la version 1.5.2 que j'ai compilé sur visual c++ 2008
et les exemple de irrlicht marche très bien.
et voila mon code complet:
#include <stdafx.h>
#include <Irrlicht.h>
#include <iostream>
using namespace irr;
int main(void)
{ static IEventReceiver;
irr::IEventReceiver *recever=0;
irr::IrrlichtDevice *device = irr::createDevice(irr::video::EDT_OPENGL,irr::core::dimension2d<irr::u32>(640,480),32,false,true,false,&recever);
return 0;
}
Hors ligne
essais alors avec dimension2d<s32>(640, 480) pour voir...
ceci dit, pourquoi ne pas employer la dernière version (1.7.2) ? la 1.5.2 à environ 2 ans....
Hors ligne
Je sais pas assais rect, je c'est pas si sa vas marcher...ou peut-être que tu à oublier qu'elle que petit truc après "dimension2d", mois pour créer une phenètre je fais comme sa :
irr::IrrlichtDevice *device = irr::createDevice
(irr::video::EDT_OPENGL,
irr::core::dimension2d<irr::u32>(800,600),
32, //!Je sais plus vraiment c'est pour quoi sa....je croie que c'est le rafraîchissement
false, //!Si tu veux ton programme en pleine écran
true,
false);
Et sa marche très bien.
Hors ligne
bonjours,
je suis désolé mais j'ai toujours le meme probleme. je ne sais plus koi faire.
Hors ligne
Tu es passé à la dernière version ?
Hors ligne
non pas encore, prkoi ça ne marche pas sur la vieille version et pourtant j'ai suivi un tutoriel avec celle que j'ai maintenant
Hors ligne
suivant les versions, cela à évolué, surtout en deux ans, et parfois la nature des paramètres à passer peu changer.
Ceci dit si les exemples du package 1.5.2 se compile bien chez toi, alors je ne vois pas pourquoi ton code lui ne passerait pas, surtout si
tu te sers d'un des exemples comme base ...
Hors ligne
tmyke a raison il te faut utiliser dimension2d<s32>(640, 480), l'utilisation de dimension2d<u32> n'est cas partir de la version 1.6 !
lit tout les postes !
@mmorpglefilm phenètre ??? je croix ne l'avoir jamais vue écrit comme ça, et dieux c'est que je fait également des fautes ! << fenètre >>
je ne sais pas, mais je pensse que tu devrait te relire un minimum, ou prendre ton temps !
Hors ligne
salut !
je n'interviens sur le problème en question sur la methode irr::CreateDevice qu'il faut "dropé" a la fin du code. cela permet a irrlicht de libérer de la memoire.
Hors ligne
oui et non wabb, la fonction drop() ne libère que les donner non utiliser (texture, mesh), et quoi qu'il arrive quand on est a la fin du code alias fin du programme les ressources sont automatiquement déallouer par l'os
mais si tu charge une scene *.irr et que tu fait un clearScene() il ne libère pas les données chargé, c'est la que drop() interviens, elle n'est pas appeler automatiquement car on ne peut pas prevoir la suite de l'application, et par conséquent diminuer les charges system qui serait alors utiliser pour "reprendre" c'est donner
Dernière modification par Magun (29-12-2010 23:29:51)
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 88 invités en ligne Aucun membre connecté RSS Feed |