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 :

1er projet Ogre


Sujet :

Ogre

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Par défaut 1er projet Ogre
    Bonjour,

    Alors j'ai toujours un soucis avec la création de mon premier projet.
    Les exemples marchent bien, j'arrive déjà à modifer 2 ou 3 choses quand je comprends, mais par contre je n'arrive pas à réduire significativement les exemples pour en faire un projet minimum, ce qui est embetant pour suivre les tutoriaux correctement.
    De plus si je crée un nouveau projet et que je fais un copié collé d'un exemple qui marche très bien ailleurs, et bien il ne marche plus...
    J'ai bien linké les 2 .lib pourtant...

    Voila le projet minimum que j'arrive à faire, si j'enlève la caméra et que j'en rajoute une fixe, ça ne marche plus... Et pas moyen de le simplifier plus que ça :


    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    /*
    -----------------------------------------------------------------------------
    Filename: CameraTrack.cpp
    Description: An example of using AnimationTracks to smoothly make a node
    follow a predefined path, with spline interpolation. Also 
    uses the auto tracking ability of the camera.
    -----------------------------------------------------------------------------
    */
     
    #include "ExampleApplication.h"
     
    AnimationState* mAnimState;
     
    // Event handler 
    class CameraTrackListener: public ExampleFrameListener
    {
    protected:
    public:
    CameraTrackListener(RenderWindow* win, Camera* cam)
    : ExampleFrameListener(win, cam){}
     
    bool frameRenderingQueued(const FrameEvent& evt)
    {
    if( ExampleFrameListener::frameRenderingQueued(evt) == false )
    return false;
    mAnimState->addTime(evt.timeSinceLastFrame);
    return true;
    }
    };
     
    class CameraTrackApplication : public ExampleApplication
    {
    public:
    CameraTrackApplication() {}
    ~CameraTrackApplication() {}
     
    protected:
    SceneNode* mFountainNode;
     
    // Just override the mandatory create scene method
    void createScene(void)
    {
    mSceneMgr->setAmbientLight(ColourValue(0.2, 0.2, 0.2));
    mSceneMgr->setSkyDome(true, "Examples/CloudySky", 5, ;
    Light* l = mSceneMgr->createLight("MainLight");
    l->setPosition(20,80,50);
     
    Entity *ent;
     
    // Add a head, give it it's own node
    SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
    ent = mSceneMgr->createEntity("head", "ogrehead.mesh");
    headNode->attachObject(ent);
     
    // Make sure the camera track this node
    mCamera->setAutoTracking(true, headNode); // La caméra va pointer vers la tête d'Ogre
     
    // Create the camera node & attach camera
    SceneNode* camNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();
    camNode->attachObject(mCamera);
    Animation* anim = mSceneMgr->createAnimation("CameraTrack", 10);
    // Create a track to animate the camera's node
    NodeAnimationTrack* track = anim->createNodeTrack(0, camNode);
    // Setup keyframes
    TransformKeyFrame* key = track->createNodeKeyFrame(0); // startposition
     
    key = track->createNodeKeyFrame(2.5);
    key->setTranslate(Vector3(500,500,-1000));
     
    key = track->createNodeKeyFrame(5);
    key->setTranslate(Vector3(-1500,1000,-600));
    // Create a new animation state to track this
    mAnimState = mSceneMgr->createAnimationState("CameraTrack");
    mAnimState->setEnabled(true);
    }
     
    // Create new frame listener
    void createFrameListener(void)
    {
    mFrameListener= new CameraTrackListener(mWindow, mCamera);
    mRoot->addFrameListener(mFrameListener);
    }
    };
     
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    #define WIN32_LEAN_AND_MEAN
    #include "windows.h"
    #endif
     
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
    #else
    int main(int argc, char **argv)
    #endif
    {
    // Create application object
    CameraTrackApplication app;
     
    try {
    app.go();
    } catch( Exception& e ) {
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
    #else
    std::cerr << "An exception has occured: " << e.getFullDescription();
    #endif
    }
    return 0;
    }
     
    #ifdef __cplusplus
    }
    #endif

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Par défaut
    ------ Début de la génération*: Projet*: Test, Configuration*: Debug Win32 ------
    Compilation en cours...
    main.cpp
    c:\ogresdk\samples\marc_test\main.cpp(167) : error C2664: 'MessageBoxW'*: impossible de convertir le paramètre 2 de 'const char *' en 'LPCWSTR'
    Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    Le journal de génération a été enregistré à l'emplacement "file://c:\OgreSDK\samples\Test\Debug\BuildLog.htm"
    Test - 1 erreur(s), 0 avertissement(s)
    ========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========


    Et ça comme erreur si je copie-colle dans un autre projet...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Par défaut
    Bon, j'ai changé MessageBox, par MessageBoxA.
    Ensuite j'ai eu message comme quoi il manquait mes dll OgreMain et Ois, là ça va, j'ai fait le copié collé, après j'ai encore eu un problème, une popup qui me sort OgreException... resource.cfg ...
    Alors là aussi je fais un copié collé de tout le repertoire debug et release pour être tranquille... Mais ça ne marche toujours pas...

    Je crois qu'il ne va plus beaucoup me rester de cheveux bientôt...

  4. #4
    Membre chevronné
    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
    Par défaut
    A tu copier le repertoire media?En faite le plus simple serait de déplacer tes fichier vers le repoertoire d'ogre,sinon il faut faire gaffe a l'arborescence des repertoires,sinon il peut pas trouver les medias.

    Si c'est pas sa tu peu nous montrer le log?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut
    Pour ta première erreur :

    Le paramètre deux fais une erreur : rajoute
    au paramètre 2 sans rien supprimer.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 91
    Par défaut Le vrai problème
    Le vrai problème est que tu dois ajouter la librairie lib32

    comme écrit dans ce tuto : http://bauland.developpez.com/tutoriel/ogre/install/

    Si vous utiliser la version de jacmoe et Visual C++ Express 2005, vous devrez rajouter à la main, au niveau de l'édition des liens, la libraire user32.lib pour pouvoir compiler correctement. Sinon vous aurez un message vous indiquant qu'il ne peut faire l'édition de liens avec la fonction MessageBox. Dans la version que j'ai traduite, j'ai effectué la modification au niveau du script, ce qui fait que vous n'aurez rien à faire !

Discussions similaires

  1. Problème pour mon 1er projet.
    Par bigwade dans le forum Android
    Réponses: 2
    Dernier message: 08/10/2012, 13h26
  2. Problème avec mon 1er projet JEE (Eclipse/Tomcat7)
    Par Gugelhupf dans le forum Servlets/JSP
    Réponses: 24
    Dernier message: 20/12/2011, 14h37
  3. 1er projet sous MS project
    Par laclac dans le forum Project
    Réponses: 0
    Dernier message: 30/11/2010, 23h25
  4. [PHP 5.0] Conception d'un 1er Projet
    Par kmaniche dans le forum Langage
    Réponses: 5
    Dernier message: 03/02/2009, 22h47
  5. Problème de compilation de projets Ogre sous CodeBlocks - Vista
    Par Verbalinsurection dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 08/10/2007, 23h17

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