Question

J'ai programmé opengl en utilisant glut comme gestionnaire de fenêtre, mais depuis peu, je me demande s'il est avantageux de passer à un autre gestionnaire de fenêtre tel que wxWidgets ou qt.

Existe-t-il des différences majeures ou s'agit-il simplement d'une question de goût? Puisque glut fournit des fonctions supplémentaires pour la programmation opengl autres que les fonctionnalités de gestion de fenêtres, serait-il utile de combiner une boîte à outils supplémentaire avec glut?

Était-ce utile?

La solution

Je ne peux que parler d'expérience en utilisant QT:

Une fois que vous avez configuré la structure de base, il vous suffit de faire ce que vous avez toujours fait: par exemple, le projet sur lequel je travaille en ce moment comporte un widget ouvert gl intégré dans la fenêtre.

Ce widget a des fonctions telles que initializeGL, redimensionner ... paintGL, etc. Les avantages incluent la possibilité de transmettre des variables à d'autres fenêtres / widgets, etc. QT propose également des fonctions supplémentaires pour la gestion des clics de souris trucs, trucs 32d nécessite des mathématiques plus complexes)

Autres conseils

Vous devez sortir de la surabondance dès que vous souhaitez des contrôles et des boîtes de dialogue plus complexes, etc.

QT dispose d'un excellent widget openGL . Le bulletin contient également un article intéressant. à propos des contrôles de dessin ontop de GL pour donner de superbes effets de style WPF.

wxWidgets est également fourni avec un exemple opengl , mais je ne l'ai pas. beaucoup d'expérience.

Eh bien, la surabondance est acceptable pour le lancement d’un prototype.

Cela dépend du système d'exploitation, mais plus tard, vous voudrez peut-être empêcher le démarrage de l'économiseur d'écran, vous voudrez peut-être désactiver le commutateur de tâches (seuls les méchants le font cependant), vous voudrez peut-être réagir à la mise hors tension événements. Vous découvrirez peut-être que la surabondance ne peut pas traiter les touches mortes sur l'un ou l'autre système d'exploitation, ou, ou, ou ... Il y a mille raisons pour lesquelles vous voudrez peut-être vous en débarrasser.

Il s’agit d’un framework conçu pour faciliter le démarrage et effectuer 90% des tâches habituelles dont vous avez besoin, mais il ne peut jamais le faire à 100%. Vous pouvez toujours vous pirater ou soulever le code init, mais un jour, vous découvrirez qu'il est plus facile de redéfinir le code init à partir de zéro et de l'adapter à votre tâche.

Ouvrir une fenêtre et initialiser OpenGL n’est pas sorcier. Utilisez surabondance tant que cela fonctionne pour vous, mais dès que cela crée des problèmes, éliminez-le. Cela ne vous prendra que quelques heures, pour ne pas perdre beaucoup de temps.

Pour un projet de jouet, la solution est la meilleure solution.

SDL , bien qu'il ne s'agisse pas simplement d'un gestionnaire de fenêtres, facilitera l'utilisation d'OpenGL par rapport au code Win32 brut. . Toutefois, mon expérience avec Qt, GTK et wxWidgets n’a pas été aussi mauvaise… certainement pas tant que Win32, c’est probablement une question de goût dans ces cas.

Je vous conseillerais d'éviter les widgets et les wrappers tels que GLUT si vous souhaitez un contrôle précis de la fenêtre et des ressources, mais si vous recherchez simplement une vitesse de développement, ces outils sont parfaits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top