#0 

29-12-2010 14:52:06

gille
Membre
Date d'inscription: 29-12-2010
Messages: 13

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


#1 

29-12-2010 15:01:29

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

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


#2 

29-12-2010 15:07:23

gille
Membre
Date d'inscription: 29-12-2010
Messages: 13

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


#3 

29-12-2010 15:40:14

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

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


#4 

29-12-2010 15:50:47

mmorpglefilm
Abonné
Lieu: la galaxie UDFy-38135539
Date d'inscription: 18-05-2010
Messages: 162
Site web

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


#5 

29-12-2010 15:57:28

gille
Membre
Date d'inscription: 29-12-2010
Messages: 13

bonjours,
je suis désolé mais j'ai toujours le meme probleme. je ne sais plus koi faire.

Hors ligne


#6 

29-12-2010 16:03:11

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

Tu es passé à la dernière version ?

Hors ligne


#7 

29-12-2010 16:09:32

gille
Membre
Date d'inscription: 29-12-2010
Messages: 13

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


#8 

29-12-2010 16:18:08

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

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


#9 

29-12-2010 19:35:26

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 902
Corrections: 2
Site web

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 ! smile

@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 >> wink
je ne sais pas, mais je pensse que tu devrait te relire un minimum, ou prendre ton temps !

Hors ligne


#10 

29-12-2010 19:47:18

wabb
Membre
Date d'inscription: 30-04-2010
Messages: 68
Corrections: 1
Site web

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.


Projet: EVO_Conflict's Factor (http://titanworks-system.over-blog.fr/#)

Hors ligne


#11 

29-12-2010 23:29:18

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 902
Corrections: 2
Site web

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 smile
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 wink

Dernière modification par Magun (29-12-2010 23:29:51)

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
872 membres
1423 sujets
11109 messages
Dernier membre inscrit: Glider
7 invités en ligne
Aucun membre connecté
RSS Feed

[ Générée en 0.148 sec., 12 requêtes exécutées ]