[WIN32][WXWINDOWS][OPENGL] EXEMPLES D'UTILISATION D'OPENGL AVEC WXWINDOWS

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 8 janv. 2004 à 07:44
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 - 31 juil. 2007 à 18:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19353-win32-wxwindows-opengl-exemples-d-utilisation-d-opengl-avec-wxwindows

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
31 juil. 2007 à 18:32
Je n'ai plus, mais de mémoire j'ai fais ces exemples en me basant sur justement des exemples glut.
Donc vous devriez faire une petite recherche sur google.
Il me semble si je me rapelle bien que dans les sources, il est marqué ou trouver les exemples originaux ou aux moins le noms des auteurs ça peut être utile pour une recherche.

Cordialement

Fred Cailleau-Lepetit
robsouille Messages postés 3 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 3 septembre 2009
6 juil. 2007 à 15:56
Bonjour,
vous auriez pas la meme chose mais utlisant des api windows (sans mfc et sans wx, juste glut associé aux API win), ce serait merveilleux.
sur ce bonne journée
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
25 août 2005 à 14:34
Bonjour,

je viens de compiler les exemples OpenGL Cube et isosurf fourni avec wxWidgets.
Avec mes devpacks ça marche nickel. Pas besoin de touche quoi que ce soit au setup.h ni ajouter glcanvas.cpp

FredCL
janimatic Messages postés 2 Date d'inscription lundi 22 août 2005 Statut Membre Dernière intervention 25 août 2005
25 août 2005 à 12:17
merci

setup.h a bien été généré avec wxUSE_GLCANVAS à 1 puisque --with-opengl le fait automatiquement (? ou alors je l'avais édité à la main apres la compil mais je ne m'en souviens pas! ), je crois comprendre qu'il faut editer le setup.h apres configure et recompiler wx... je vais conserver ma conf actuelle pour l'instant (et ajouter glcanvas.cpp à mes projets en attendant).
Merci beaucoup pour les devpacks !
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
25 août 2005 à 11:30
Bonjour,

Apparement vous avez compiler vous même la bibliothèque wxWidgets. Il vous faut vérifier que le setup.h (ou un de ses dérivé) soit bien généré avec wxUSE_GLCANVAS à 1, sinon wxGLCanvas n'est pas inclus.
Si vous utilisez Dev-Cpp les derniers devpacks pour wxWidgets 2.6.1 sont disponibles sur mon site http://cfred.free.fr, l'option wxGLCanvas activée à 1.

Cordialement

FredCL
janimatic Messages postés 2 Date d'inscription lundi 22 août 2005 Statut Membre Dernière intervention 25 août 2005
24 août 2005 à 23:39
Salut!

et merci pour cet example tres utile...
Qques points sont encore obscures pour moi :
Je n'ai pas de probleme de compil avec ce code.
Par contre aucun example wx/openGL fourni avec wx ne compil sans ajouter glcanvas.cpp...bizarre

- doit-on (apparement?) compiler glcanvas.cpp statiquement pour ne pas avoir de link error sur wxGLCanvas?
Je pensais que la nouvelle version de wx avait inclus glcanvas ... Je ne trouve aucune instruction concernant cela dans la mailing list de wx et les pages de Julian Smart

- doit-on systematiquement dériver wxGLCanvas (ce deuxieme point parait logique pour implémenter OnPaint, OnSize, etc..)

- L'essentiel c'est que ça marche ! Mais je voudrais juste comprendre ces points avant de m'embarquer plus loin...

Mon instalation : wx 2.5.5 sous windows configuré avec
configure --with-opengl --with-std_iostreams --with-stl --with-msw --disable-debug --disable-debug_gdb --disable-shared --disable-sockets

En tous cas merci beaucoup!

bien à vous
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 17:54
impec MEc ;)

merci encore pour tout
ces fois-ci C'est bon je suis pret a m'envoler !

A bientot !





( MERCIIIIIII !!!!!!!)
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
24 juin 2004 à 17:19
Franchement je vois pas ou cela pourrais coincer!!!
Surtout que sample1 et sample2 ont les même options de compilation et que les deux fichiers main.cpp contiennent la ligne "MyGLCanvas->SetCurrent();" dans le constructeur de MyFrame.
Fait peut être le test suivant copie le main.cpp de sample1 à la place du main.cpp de sample2 et recompile sample2. Bien sur fait la sauvegarde du main.cpp de sample2 avant ;-)

A+

Fred
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 16:32
la bonne enfin la derniere 2.4.2
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 16:31
la bonne enfin la derniere 2.4.2
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
24 juin 2004 à 16:02
Quelle est ta version de wxWidgets?
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 13:12
le plus etonnant je compile le sample 2 sans probleme par contre impossible pour le sample 1 toujours la meme erreur de link
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 12:58
oui j'ai tout bien respecté pourtant mais j'ai toujorus les memes erreurs de link ::
avec cet compilation ...

g++.exe main.o glcanvas.o OpenGLSample_private.res -o "OpenGLSample.exe" -L"C:/DEV-CPP/lib" -mwindows -Wl,--subsystem,windows -mwindows -lwxmsw -lstdc++ -lgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lopengl32 -lglu32 -lglut32 -lole32 -loleaut32 -luuid

C'est pathetique :p
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
24 juin 2004 à 11:15
As-tu bien suivi les instructions dans le paragraphe:Explication finale?

A+

Fred
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 10:44
ben fred C encore moi ........
j'ai encore un probleme de linker .....

[Linker error] undefined reference to `wxGLCanvas::SetCurrent()'
voici mon mode de compil :

g++.exe main.o glcanvas.o OpenGLSample_private.res -o "OpenGLSample.exe" -L"C:/DEV-CPP/lib" -mwindows -Wl,--subsystem,windows -mwindows -lwxmsw -lstdc++ -lgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lopengl32 -lglu32 -lglut32 -lole32 -loleaut32 -luuid

voila merci de m'aider
et encore merci !!!!!!
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
24 juin 2004 à 10:33
ben fred C encore moi ........
j'ai encore un probleme de linker .....

[Linker error] undefined reference to `wxGLCanvas::SetCurrent()'
voici mon mode de compil :

g++.exe main.o glcanvas.o OpenGLSample_private.res -o "OpenGLSample.exe" -L"C:/DEV-CPP/lib" -mwindows -Wl,--subsystem,windows -mwindows -lwxmsw -lstdc++ -lgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lopengl32 -lglu32 -lglut32 -lole32 -loleaut32 -luuid

voila merci de m'aider
et encore merci !!!!!!
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
23 juin 2004 à 09:13
Bonjour,

pour cette erreur :

C:\WINDOWS\Bureau\cppfrance_source_19353\OpenGLSample\Sample1\main.cpp:55
#error Please set wxUSE_GLCANVAS to 1 in setup.h.


la réponse est écrite, il suffit de modifier le fichier setup.h (comme écrit d'ailleurs dans les commentaires plus haut) et mettre wxUSE_GLCANVAS à 1

Au vu de l'erreur 1 il semble que la solution soit la même.

A+

Fred
remanv69 Messages postés 24 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 23 août 2005
22 juin 2004 à 21:01
Compilateur: Default compiler
Building Makefile: "C:\WINDOWS\Bureau\cppfrance_source_19353\OpenGLSample\Sample1\Makefile.win"
Exécution de make...
make.exe -f "C:\WINDOWS\Bureau\cppfrance_source_19353\OpenGLSample\Sample1\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"C:/DEV-CPP/include/c++" -I"C:/DEV-CPP/include/c++/mingw32" -I"C:/DEV-CPP/include/c++/backward" -I"C:/DEV-CPP/include" -DWINVER=0x0400 -D__WIN95__ -D__GNUWIN32__ -D__WIN32__ -DHAVE_W32API_H -D__WXMSW__ -D__WINDOWS__ -DGLUT_NO_LIB_PRAGMA -DGLUT_NO_WARNING_DISABLE -Wall -fno-pcc-struct-return -O2 -Os -fno-rtti -fno-exceptions

main.cpp:55:2: #error Please set wxUSE_GLCANVAS to 1 in setup.h.
main.cpp:103: syntax error before `*' token

main.cpp: In constructor `MyFrame::MyFrame(const wxString&, const wxPoint&,
const wxSize&, long int)':
main.cpp:280: `MyGLCanvas' undeclared (first use this function)
main.cpp:280: (Each undeclared identifier is reported only once for each
function it appears in.)





voila j'ai cet erreur avec devcpp
2 C:\WINDOWS\Bureau\cppfrance_source_19353\OpenGLSample\Sample1\main.cpp:55
#error Please set wxUSE_GLCANVAS to 1 in setup.h.

et aussi celle la
enfin j'aimerais tellement que ca marche
merci !
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 janv. 2004 à 14:19
ben je suis étonné au possible :-( j'ai pas de setup0.h (c ds quel rép exactement?) et j'avias mis wxUseGLCanvas à 1 dans setup.h

armf, quid? pitet que les en-têtes précompilés ont pas tenu compte de mes modifs !
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
8 janv. 2004 à 09:54
Ouuuuppssssssssss j'ai oublier de répondre à ta question.
Je n'ai rien modifié dans glcanvas.h, c'est dans setup.h et setup0.h (je me demande même si la modification de setup0.h est vraiment necessaire, pas sur)

voila A+
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
8 janv. 2004 à 09:50
Effectivement tu a raison, mais comme tu as du le voir c'est fait a l'arrache pour te rendre service, alors franchement j'ai pas vérifier les fautes d'anglais, j'ai même pas pris le temps de tout mettre en français. Il faut que tu notes aussi que c'est juste pour te donner ce qu'il faut pour que ça compile, je suis pas sur que l'utilisation que j'ai fait d'OpenGL soit au mieux, quand j'aurais un peu plus de temps je regarderais ça de plus près. Pour l'instant je fais fignoler ma source précédente (Convertisseur d'image en fichier XPM) comme indiqué dans le fichier TODO.

Mais je suis bien content si cette source peut t'aider.

A+
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 janv. 2004 à 07:44
j'ai un ange gardien, c'est du sur maintenant ^^
merci, merci, merci, c'est excellent ça compile !

un truc, tu vas me trouver lourd, ... ds le titre, c'est with OpenGL pas width OpenGL (avec, et pas largeur)

dis moi, qu'est-ce que tu as dû modifier dans glcanvas.h ?

je dois filer pour l'école, mais ce soir je vais m'amuser, je le sens :-D
Rejoignez-nous