| [Qt] Problème lors d'un changement d'image | |
|
|
Auteur | Message |
---|
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: [Qt] Problème lors d'un changement d'image Dim 24 Juil 2011 - 19:10 | |
| Hello ! J'ai un problème plutôt étrange avec Qt.. Je me sers de deux fenêtre openGL (qui sont toute les deux la classe nommée templateViewport) afin de créer un "template" de map (en gros, on part de la texture brut pour mettre le bordel en forme, et ensuite on copie/colle ledit bordel afin de faire une map) Donc tout marche très bien, sauf que j'ai ajouté un truc qui permet de changer de tileset (si on veut finalement se servir d'une autre image), là il pète totalement un plomb, c'est-à-dire qu'il va charger l'image une fois sur deux, s'il ne la charge pas il ne fait que modifier la taille (en gros il arrive pas à récupérer les bits à chaque fois..) Voilà le code utilisée lorsque l'ont change de tileset (fenêtre de choix de nouvelle image) : - Code:
-
void TilesetList::slotAccept() { if (temp!="") { templateEditor * p = dynamic_cast<templateEditor*>(receiverWidget); p->set_tileset(temp); } close(); }
(temp contient le nom du tileset, receiverWidget est la fenêtre sur laquelle on fout les deux fenêtres openGL) la fonction set_tileset : - Code:
-
void templateEditor::set_tileset(QString new_tile) { temp_dest->change_tileset(new_tile); temp_source->change_tileset(new_tile); }
et enfin, le change_tileset du templateViewport rappelle la fonction load_tileset : - Code:
-
void TemplateViewport::load_tileset(QString file) {
QImage new_t; QImage temp_t; temp_t.load(file); new_t = QGLWidget::convertToGLFormat(temp_t.mirrored(0,1));
glEnable(GL_TEXTURE_2D); glBindTexture(1,tileset->texture);
tileset->width = new_t.width(); tileset->height = new_t.height();
if (mode==0) { map_width = tileset->width/16; map_height = tileset->height/16; setMinimumSize(tileset->width,tileset->height); }
glTexImage2D(GL_TEXTURE_2D,0,4,new_t.width(),new_t.height(),0,GL_RGBA,GL_UNSIGNED_BYTE,new_t.bits()); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glDisable(GL_TEXTURE_2D); }
Voilà, si quelqu'un pouvait m'éclairer dans tout ce bordel |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: [Qt] Problème lors d'un changement d'image Lun 25 Juil 2011 - 5:20 | |
| Je crois que je ferrai jamais d'open GL, c'est un foutoir total à lire.
Sinon t'es sure que viendrais pas du code pour récupéré l'image?(Code que tu n'as pas mis) |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Qt] Problème lors d'un changement d'image Lun 25 Juil 2011 - 9:12 | |
| Et ça c'est quoi ? : temp_t.load(file); :p
Sinon c'est embêtant, vu qu'il faut que tu change ta QImage en texture opengl. Perso pour ce genre de manip je charge une seconde QImage que je blite dessus la première. Par contre la je vois pas trop... |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: [Qt] Problème lors d'un changement d'image Lun 25 Juil 2011 - 11:54 | |
| Le problème vient d'ici : glTexImage2D(GL_TEXTURE_2D,0,4,new_t.width(),new_t.height(),0,GL_RGBA,GL_UNSIGNED_BYTE,new_t.bits()); Il arrive pas à assigner tous les bits à chaque coups, c'est vraiment super bizarre.. J'ai essayé de partager la texture entre les deux viewports, mais ça n'a rien donné non plus |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 16:26 | |
| Bon, j'ai laissé tomber cette technique de toute façon, j'me suis rendu compte que ce que je faisais servait à rien J'profite de c'topic pour savoir comment faire pour compiler en release avec Qt ? J'ai vu plein d'histoires avec les qmake et tout, mais moi ça marche pas.. (il retrouve pas le qmake), et via QtCreator j'ai essayer de mettre la cible sur "Qt 4.7.3 for Desktop - MVC2008 (Qt SDK) Release", mais en fait il me recompile mon application en debug |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 18:25 | |
| Chez moi je fait mingw32-make release
Si ça marche pas c'est qu'y a un problème avec la variable d’environnement PATH |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 19:54 | |
| Oui, faut le diriger vers le dossier mingw de Qt ? |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 19:56 | |
| |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 20:07 | |
| j'ai bien mit les deux dossier sur le path, apparemment ça suffit mais mingw32-make me renvoi des erreurs au niveau du linker apparemment (si j'ai bien compris) : (qmake -project et qmake sont niquels) - Code:
-
E:\Documents and Settings\Termite\RayEngineEditor-build-desktop>mingw32-make rel ease mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory `E:/Documents and Settings/Termite/RayEngine Editor-build-desktop' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o release/RayEngineEditor-build- desktop.exe -L'd:/QtSDK/Desktop/Qt/4.7.3/mingw/lib' -lmingw32 -lqtmain -lQtGui 4 -lQtCore4 -LC:\OpenSSL-Win32_full\lib d:/QtSDK/Desktop/Qt/4.7.3/mingw/lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.t ext+0x131): undefined reference to `qMain(int, char**)' collect2: ld returned 1 exit status mingw32-make[1]: *** [release/RayEngineEditor-build-desktop.exe] Error 1 mingw32-make[1]: Leaving directory `E:/Documents and Settings/Termite/RayEngineE ditor-build-desktop' mingw32-make: *** [release] Error 2
E:\Documents and Settings\Termite\RayEngineEditor-build-desktop>mingw32-make rel ease |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 20:56 | |
| Question conne, tu utilise bien l'invité de commande de Qt ? |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: [Qt] Problème lors d'un changement d'image Sam 30 Juil 2011 - 21:05 | |
| Nan edit : trouvé, en fait il se plantait avec mingw, j'avais un LIBS += d:/mingw_last/libs -llua5.1 pour linker lua, et du coups il aimait pas, j'ai changé de place la lib et c'est bon |
|
| |
Contenu sponsorisé
| Sujet: Re: [Qt] Problème lors d'un changement d'image | |
| |
|
| |
| [Qt] Problème lors d'un changement d'image | |
|