|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() |
Bonjour à vous !
J'ai un moteur 3D sous OpenGl qui gère lui-même son contexte de rendu OpenGl (donc je n'utilise pas et ne veux pas utiliser wxGlCanvas). Sous Windows je lui passe le HWND de la fenêtre et la création du contexte se passe sans aucun problème - le HWND je le récupère sous wxWidgets grâce à wxWindow::GetHandle. Maintenant je voudrais créer le contexte sous Linux, avec la même fenêtre wxWidgets. Comment m'y prendre ?
__________________
Si vous ne trouvez plus rien, cherchez autre chose... Chef de projet (et unique exécutant pour l'instant) pour Castor 3D |
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Bon, j'ai avancé, Le problème que je rencontrais jusqu'à maintenant était que le GtkWidget que je récupérais avec wxWindow::GetHandle a un membre 'window' qui était NULL.
C'est tout simplement dû au fait que je suis dans le constructeur de mon wxPanel au moment où j'essaie de créer mon contexte OpenGL. Pour tester j'ai déplacé ma création de contexte dans l'évènement Paint, et là je n'ai plus ce problème. Il me reste donc un problème à régler : à l'exécution j'ai une erreur me disant que mon display 0:0 n'est pas prêt. Je vais me pencher dessus ce soir et vous communiquerai l'avancement (bien que ça n'ait pas l'air d'intéresser grand monde
__________________
Si vous ne trouvez plus rien, cherchez autre chose... Chef de projet (et unique exécutant pour l'instant) pour Castor 3D |
|
00
|
|
|
#3 | |
|
Membre confirmé
![]() Xavier PerrissoudDéveloppeur amateur Inscription : décembre 2008 Messages : 135 ![]() |
Saut.
Citation:
Pour ma part, c'est juste que je n'avais pas la solution ni le temps de faire quelques tests pour voir si je trouve quelque chose. Bonne chance dans tes recherches quand même. @+ Xav' |
|
|
|
00
|
|
|
#4 | |||
|
Membre Expert
![]() ![]() |
Bon, j'ai avancé (encore), j'ai maintenant une création de contexte OpenGl qui semble correcte, je dis 'semble' car malgré tout ça ne fonctionne pas, pire encore, ça me fait tourner en bourrique.
J'en suis arrivé à la fonction glxMakeCurrent et c'est là que ça coince. J'ai des erreurs assez violentes qui m'arrivent dans la figure et je ne comprends pas trop ce qu'il se passe. Je vous mets les erreurs : Citation:
Bref, je suis un peu perdu. Je vous mets le code du SetCurrent : Code :
__________________
Si vous ne trouvez plus rien, cherchez autre chose... Chef de projet (et unique exécutant pour l'instant) pour Castor 3D |
|||
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() |
Bon, à 4h du mat' j'ai réussi.
Le premier problème venait bien du fait que je faisais le rendu dans un thread à part. Ensuite il y a une ligne de mon code que j'ai viré, dans la liste des attributs que je définis pour récupérer le XVisualInfo : GL_ALPHA (ben oui, ma version de GTK ne supporte pas la transparence des fenêtres).
__________________
Si vous ne trouvez plus rien, cherchez autre chose... Chef de projet (et unique exécutant pour l'instant) pour Castor 3D |
|
00
|
Copyright © 2000-2013 - www.developpez.com