#0 

08-08-2010 15:53:01

sam76
Petit nouveau
Date d'inscription: 08-08-2010
Messages: 5

Salut,

J'essaie d'utiliser CEGUI et irrlicht avec le theme TaharezLook. Apres des jours d'installation et de lecture de howto je bloque sur la lecture de l'imageset.

le theme affiché est celui par defaut et j'ai pas de curseur souris.

J'utilise Irrlicht 1.7.1 et CEGUI 0.7.1 . Le dossier datafiles est situé a la racine de l'éxé

Merci d'avance

Voila le code :

Code c++ :


    Octree = false;
    UseLight = false;
    Model = NULL;         

    dev = createDevice(EDT_OPENGL, core::dimension2d<u32>(800, 600),16, false, false, false, this);

    dev->setWindowCaption(L"Synoptical Interface - Loading...");

    drv = dev->getVideoDriver ();
    smgr = dev->getSceneManager ();

    smgr->getParameters()->setAttribute(scene::COLLADA_CREATE_SCENE_INSTANCES, true);

    smgr->addLightSceneNode(0, core::vector3df(200,200,200),video::SColorf(1.0f,1.0f,1.0f),2000);
    smgr->setAmbientLight(video::SColorf(0.3f,0.3f,0.3f));
    dev->getFileSystem()->addFolderFileArchive("../../media/");

    last_time = dev->getTimer ()->getRealTime ();

    dev->getCursorControl ()->setVisible (false);

    drv->setTextureCreationFlag (ETCF_ALWAYS_32_BIT, true);
    drv->setTextureCreationFlag (ETCF_ALWAYS_16_BIT, false);
    drv->setTextureCreationFlag (ETCF_CREATE_MIP_MAPS, false);
    drv->setTextureCreationFlag (ETCF_OPTIMIZED_FOR_QUALITY, true);

    rend = &CEGUI::IrrlichtRenderer::create( *dev );

    sys = &CEGUI::System::create(*rend );

    IrrlichtResourceProvider* rp = static_cast<IrrlichtResourceProvider*> (System::getSingleton ().getResourceProvider ());

    rp->setResourceGroupDirectory ("schemes", "datafiles/schemes/");
    rp->setResourceGroupDirectory ("imagesets","datafiles/imagesets/");
    rp->setResourceGroupDirectory ("fonts", "datafiles/fonts/");
    rp->setResourceGroupDirectory ("layouts", "datafiles/layouts/");
    rp->setResourceGroupDirectory ("looknfeel", "datafiles/looknfeel/");

    Imageset* imgs = &ImagesetManager::getSingleton().create ("TaharezLook.imageset", "imagesets");

    System::getSingleton ().setDefaultMouseCursor (&imgs->getImage ("MouseArrow"));

    FontManager::getSingleton().create("DejaVuSans-10.font", "fonts");

    WidgetLookManager::getSingleton ().parseLookNFeelSpecification ("TaharezLook.looknfeel", "looknfeel");

    SchemeManager::getSingleton ().create ("TaharezLookWidgets.scheme", "schemes");

    WindowManager &wmgr = WindowManager::getSingleton ();

    DefaultWindow *root = (DefaultWindow*)wmgr.createWindow ("DefaultWindow", "Root");

    System::getSingleton ().setGUISheet (root);

    FrameWindow *wnd = (FrameWindow*)wmgr.createWindow ("TaharezLook/FrameWindow","Demo Window");

    root->addChildWindow (wnd);

    wnd->setPosition (UVector2 (cegui_reldim (0.25f), cegui_reldim (0.25f)));
    wnd->setSize (UVector2 (cegui_reldim (0.5f), cegui_reldim (0.5f)));

    wnd->setMaxSize (UVector2 (cegui_reldim (1.0f), cegui_reldim (1.0f)));
    wnd->setMinSize (UVector2 (cegui_reldim (0.1f), cegui_reldim (0.1f)));

    wnd->setText ("Hello, world!");

    loadModel();

    Camera[0] = smgr->addCameraSceneNode();
    Camera[0]->setFarValue(20000.f);
    Camera[0]->setPosition(core::vector3df(1.4,69.7,123));
    Camera[0]->setTarget(core::vector3df(31.7,19.6,88.8));

    setActiveCamera(Camera[0]);

    scene::ISceneNode* n = smgr->addBoxSceneNode(core::vector3df(50.0f, 50.0f, 50.0f));

    if (n)
    {
        n->setMaterialTexture(0, drv->getTexture("../../media/t351sml.jpg"));
        n->setMaterialFlag(video::EMF_LIGHTING, false);
    }


    quit = false;

    showAboutText();

Hors ligne


#1 

08-08-2010 20:11:34

sam76
Petit nouveau
Date d'inscription: 08-08-2010
Messages: 5

J'ai ajoutré un dev->getCursorControl ()->setVisible (true); et j'ai mon curseur mais c'est aussi le curseur par defaut.

Hors ligne


#2 

09-08-2010 04:15:55

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

tu peut mettre le curseur invisible et récupéré l'image du curseur pour l'afficher autrement ( event + draw ) ... histoire de pas ce prendre la tête ... perso cegui+irrlicht boffboff y a souvent des merde a l'utilisation a se que j'est pu lire

bref perso j'utilise la gui irrlicht avec un skin perso on n'y voie que du feux et sa n'alourdie pas l'app ...

excuse la qualiter de l'image, le rendue est net se pendant
http://img5.hostingpics.net/pics/405446 … hot_20.jpg

de vielle source ... quelque modif a faire pour passer en 1.7.1 ...
http://irrlicht-fr.org/viewtopic.php?id=915&p=1 post 16

a toi de voir, du moin si tu n'utilise cegui que pour le skin ... boff

Hors ligne


#3 

09-08-2010 09:38:56

sam76
Petit nouveau
Date d'inscription: 08-08-2010
Messages: 5

Le curseur est pas vraiment mon soucis principal puisque a therme ce soft tournera sur un ecran tactil, donc pas de curseur ^^

Oui ton interface est bien sympa ! J'ai deja perdu assé de temps avec CEGUI, je retourne au gui d'irrlicht comme tu me le conseil. Si il me manque des fonctionnalités je les coderais moi meme lol

Mes 'souhait' concernant la gui :
- possibilité de virer la barre de titre
- possibilité de redessiner mes controles

A therme j'aimerais ajouter un parametre Z pour gerer des effet 3D

Merci pour ta réponse

Hors ligne


#4 

09-08-2010 11:10:14

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

- possibilité de virer la barre de titre -> oui dans se cas ne passe pas par une fenètre ... ( regarde du coter de IGUITab )
- possibilité de redessiner mes controles -> excuse je croix ne pas très bien suivre ... qu'ententue par contrôles ?

Hors ligne


#5 

09-08-2010 11:18:56

sam76
Petit nouveau
Date d'inscription: 08-08-2010
Messages: 5

Je veux pouvoir dessiner mes propre progressbar, slidecontrol.. etc et pouvoir créer des controles, par exemple pour afficher des graphiques

Je viens de trouver une gui sympa : http://www.libnui.net/

Quelqu'un connait ?

Hors ligne


#6 

09-08-2010 12:36:47

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

absolument pas ( pour la lib )
pour le reste grossièrement c'est ça:

par contre pour se qui est des progresse bar, très simple a faire, slidebar aussi tu dérive tes class de IGUIElement, tu n'a pas grand chose d'autre a faire
et se qui est des controle ( graphique donc ), c'est symple a mettre en place, ça ne reste que de la modification d'image

tu fait un buffer[width*height] dynamic, et tu joue avec des push_back ou des memmov, après tu répercute ton buffer sur celui d'une IImage que tu convertie en ITexture ( via IVideoDriver ) que tu affiche après wink

pour la customisation tu dérive une class de IGUISkin que tu renvoie a IGUIEnvironement

Hors ligne


#7 

09-08-2010 13:28:48

sam76
Petit nouveau
Date d'inscription: 08-08-2010
Messages: 5

Ok ! je repars sur le gui standard d'Irrlicht.

J'ai vu un topic interessant : http://www.irrlicht.fr/forum/viewtopic.php?id=602

Ca me suffira largment sans alourdir l'appli. Merci, je posterais un pti screenshot du resultat.

Hors ligne


#8 

09-08-2010 13:58:50

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

ok merci pour la proposition du screen, c'est sympas de voire les rendues des gens ! wink

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
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
63 invités en ligne
Aucun membre connecté
RSS Feed