#0 

16-11-2012 23:38:15

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Bonjour à tous,

Je cherche à utiliser Irrlicht depuis 2 mois et la 1.8 me permet enfin de l'utiliser. La 1.7 n'était pas compatible avec mon ordinateur, enfin il y avait un pb.
J'en ai toujours un du reste big_smile

Donc voilà j'ai fais toute l'installation normale. Mais mon pb c'est quand je lance le code de base, l'application crash "Application ne répond plus".
J'utilise ce code :


Code:

#include <irrlicht.h>
 using namespace irr;

 int main()
 {
    // start up the engine
    IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D8,
        core::dimension2d<u32>(640,480));

    video::IVideoDriver* driver = device->getVideoDriver();
    scene::ISceneManager* scenemgr = device->getSceneManager();

    device->setWindowCaption(L"Hello World!");

    // load and show quake2 .md2 model
    scene::ISceneNode* node = scenemgr->addAnimatedMeshSceneNode(
        scenemgr->getMesh("quake2model.md2"));

    // if everything worked, add a texture and disable lighting
    if (node)
    {
        node->setMaterialTexture(0, driver->getTexture("texture.bmp"));
        node->setMaterialFlag(video::EMF_LIGHTING, false);
    }

    // add a first person shooter style user controlled camera
    scenemgr->addCameraSceneNodeFPS();

    // draw everything
    while(device->run() && driver)
    {
        driver->beginScene(true, true, video::SColor(255,0,0,255));
        scenemgr->drawAll();
        driver->endScene();
    }

    // delete device
    device->drop();
    return 0;
 }

Que puis je faiire ?
Merci d'avance de votre aide.
Svp j'ai pas envie d'abandonner déjà Irrlicht qui me parrait vraiment excellent big_smile

Hors ligne


#1 

17-11-2012 11:21:01

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Irrlicht n'est pas compiler avec directx de base, utilises donc video::EDT_OPENGL à la place de video::EDT_DIRECT3D8. Et puis bon entre nous dx8 c'est dépassé depuis des lustres. Si tu veux compiler avec directx9 il y a un tuto ici. J'y ai rajouté 2-3 trucs mais si tu as un problème tu n'as qu'à demender.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#2 

17-11-2012 11:28:52

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Merci de ta réponse mais là je viens de me rendre compte que ce ne viens surement pas de là. Enfin à moitié je pense
Car la console me dit que Irrlicht est en 1.7.3 alors que j'ai dl et utilisé irr 1.8

Irrlicht Engine version 1.7.3
Microsoft Windows 7 Home Premium Edition Service Pack 1 (Build 7601)
Using renderer: OpenGL 4.2.11931
AMD Radeon HD 6900 Series: ATI Technologies Inc.
OpenGL driver version is 1.2 or better.
GLSL version: 4.2

Process returned 255 (0xFF)   execution time : 40.145 s
Press any key to continue.




Merci d'avance wink

Hors ligne


#3 

17-11-2012 12:56:43

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Vérifies que tu as linker la bonne lib et recompile ton projet entièrement. Tu as du te tromper de dossier. Quel est ton IDE?


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#4 

17-11-2012 13:08:14

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

J'utilise Code::Block.
Que doit je mettre dans le linker ? big_smile
Je ne trouve pas ce qu'il faut linker ...

Hors ligne


#5 

17-11-2012 15:10:45

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Tu créés un projet console.
Ensuite dans Project>Build options :

Nom_du_projet>linker settings -> add : libIrrlicht
Search directories>linker add: chemin d'accès au fichier "Irrlicht 1.8\lib\Win32-gcc\" (qui contient le fichier libIrrlicht.dll.a)

Search directories>Compiler -> add : chemin d'accès au dossier "Irrlicht 1.8\include"

Ensuite tu vas dans Project>Properties>Build target>release : tu décoches "pause when execution ends" et juste au-dessus, tu mets "gui Application" au lieu de "Console Application".

Ca aurait été mieux avec des images mais j'ai la flemme de faire un bon tuto. Au pire, tu devrais en trouver sur le site du zéro il me semble. Mais je pense que tu devrais t'en sortir avec ça.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#6 

17-11-2012 15:37:48

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

J'ai tout fait comme tu me le conseil, tjrs le même problème.
Et je tiens à préciser je suis sur Windows 7 64 bits

Hors ligne


#7 

17-11-2012 16:13:12

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Je t'ai fait un package avec Irrlicht 1.8 compilé en "debug" et "release accurate math" avec DirectX9, et un projet exemple. Je suis moi aussi sous code block et Windows7 64bits donc tu ne devrais pas avoir de problème. Juste un conseil, n'utilise pas le projet exemple sans en garder une copie. Si tu veux recompiler irrlicht par la suite, il te faudra le sdk de DX9 comme dit dans le tuto dans la section du même nom.
Voilà le lien : lien


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#8 

17-11-2012 16:14:43

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Ok mais DirectX9 pas compatible avec Linux ? c'est çà ?
OpenGl ne serai pas plus judicieux ?
Désolé d'être embettant xD

Hors ligne


#9 

17-11-2012 16:18:01

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

C'est pas grave si tu veux tu peut permettre le choix. Quand tu créé ton device tu lui dit si tu veux opengl ou directx9.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#10 

17-11-2012 16:30:22

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Ok merci de ton aide

Hors ligne


#11 

17-11-2012 16:47:36

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Super ton projet marche.
J'essai de voir d'où viens mon problème.

Hors ligne


#12 

17-11-2012 17:08:06

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Je ne trouve pas d'où viens mon problème dans mon projet.
Je vais recommencer mais là je vois pas.

Hors ligne


#13 

17-11-2012 17:15:24

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Tant mieux si ça marche. Mais en y pensant ton problème viens peut être du fait qu'il ne trouve pas ton mesh. ça me l'a déjà fait, quant il ne trouve pas une texture ça ne lui pose pas de probleme mais s'il ne trouve pas un mesh, c'est le plantage assuré.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#14 

17-11-2012 17:22:35

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Ah ok.
Bah je vais voir.
En attendant j'essai les trucs de bases.
Et je le trouve vraiment simple à prendre en main maintenant que j'arrive à l'utiliser smile

Merci beaucoup de ton aide.

Hors ligne


#15 

17-11-2012 17:23:49

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

De rien, n'hésite pas à poser des questions si tu as besoin d'aide.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#16 

17-11-2012 17:50:49

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Allez je suis un fou je te pose une question big_smile
Comment fait t'on pour que lorsqu'on appuie sur Echap notre fenêtre se ferme ?

Hors ligne


#17 

17-11-2012 23:12:24

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Il faut dériver IEventReceiver.
class MyEventReceiver : public IEventReceiver
{
public:
    MyEventReceiver() { }

    virtual bool OnEvent(const SEvent& event)
    {
        if (event.EventType == EET_KEY_INPUT_EVENT)
        {
            if(event.KeyInput.PressedDown)
            {
                switch(event.KeyInput.Key)
                {
                    case KEY_ESCAPE:
                        device->closeDevice();  // QUITTE L'APPLICATION
                        return true; // l'event a été traité
                }
            }
        }
        // indique qu'acun event n'a été traité
        return false;
    } // fin de OnEvent
};

ensuite, après que ton device soit créé tu fais:
MyEventReceiver receiver;
device->setEventReceiver(&receiver);

// Pour des explications le sujet des evenements clavier/souris/joysticks/GUI sont traités dans la section Evénements que je te conseille d'aller voir car il recelle de question sur le sujet.

Dernière modification par johnplayer (17-11-2012 23:14:37)


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#18 

27-04-2013 17:58:23

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Bonjour,

Me revoilà après un ptit temps d'absence pour essayer Opengl. Rien à dire, Irrlicht est mieux.
Mais bon qui veut dire retour Irrlicht veut dire bug x)
J'ai réutilisé ton projet johnplayer. Il a marché une fois. J'ai changé une valeur pour la couleur du ciel et là "Votre Application ne répond pas". Donc le bon vieu Ctrl + Z mais rien n'y fait le bug est toujours là. Aucune erreur de la part du compilo donc je fais encore une fois appel à vous x)

Voici le code :

Code:

#include <irrlicht.h>
using namespace irr;
using namespace gui;
using namespace scene;
using namespace video;
using namespace core;
using namespace io;


s32 main(s32 argc, c8** argv)
{
    IrrlichtDevice *device = createDevice(EDT_OPENGL, dimension2du(800, 600), 32, false, false, false, 0);
    device->setWindowCaption(L"Projet de base");

    IVideoDriver* driver = device->getVideoDriver();
    ISceneManager* smgr = device->getSceneManager();
    IGUIEnvironment* guienv = device->getGUIEnvironment();

    ICameraSceneNode *cam = smgr->addCameraSceneNodeFPS();
    cam->setPosition(vector3df(500,500,500));
    cam->setTarget(vector3df(0,0,0));

    // boucle
    s32 lastFPS = -1;
    while(device->run())
    {
        //
        driver->beginScene(true, true, SColor(0,255,200,200));
        //
        smgr->drawAll();
        //
        guienv->drawAll();
        //
        driver->endScene();
        //
        s32 fps = driver->getFPS();
        if (lastFPS != fps)
        {
            stringw str = L"Projet de base [";
            str += driver->getName();
            str += "] FPS: ";
            str += fps;
            str += " | Triangles: ";
            str += driver->getPrimitiveCountDrawn();
            device->setWindowCaption(str.c_str());
            lastFPS = fps;
        }
    }

    device->drop();

    return 0;
}

Dernière modification par Logeur (27-04-2013 17:59:15)

Hors ligne


#19 

27-04-2013 18:15:48

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Il y a de grandes chances pour que la librairie que tu as linkée dans ton projet ne soit pas en concordance avec la dll que tu utilises. Dans le projet que je t'ai donné la lib irrlicht a été recompilée par mes soins donc il faut t'assurer que tu utilises bien la bonne lib.

Edit : Le code du projet est bon, ton problème est survenu lorsqu'il y a eu recompilation (suite à ta modification). Le compilateur a compilé ton projet grâce au *.lib mais lors de l'exécution, il n'a pas trouvé les points d'entrée dans la dll, d'où le plantage. Au pire, recompile Irrlicht.

Dernière modification par johnplayer (27-04-2013 18:21:19)


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#20 

27-04-2013 18:21:50

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

j'utilise ton projet donc logiquement pas de soucis de Lib.
Cela peut-il venir du fait que C::B soit en 12.05 ?

Hors ligne


#21 

27-04-2013 19:07:01

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

C'est possible, recompile irrlicht pour voir ce que ça donne.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#22 

28-04-2013 19:19:41

Logeur
Membre
Date d'inscription: 16-11-2012
Messages: 61

Bonjour,

Merci, je n'avais pas pensé à la recompile, c'est tout de suite mieux ^^

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
880 membres
1424 sujets
11113 messages
Dernier membre inscrit: mandrifidy
10 invités en ligne
Aucun membre connecté
RSS Feed