Question

Quelqu'un pourrait-il recommander de bonnes ressources pour créer des interfaces utilisateur graphiques, de préférence en C/C++ ?

Actuellement, ma plus grande influence est 3DBuzz.comc'est VTM C++/OpenGL (Modules de formation vidéo).Bien qu'ils soient très bons, ils couvrent un large domaine de la programmation graphique, ils ne font donc qu'effleurer la surface de la programmation GUI.

Cette question concerne "Comment créer une interface graphique ?", où se trouve également un aperçu de ma structure actuelle.

Toute réponse serait appréciée.

Modifier:Je viens de lire certaines réponses et j'ai remarqué que j'avais raté certains points.J'ai dû taper la question deux fois car je me suis trompé de bouton et je l'ai perdu.

J'ai raté deux points importants, d'abord :Celui-ci sera utilisé sur plusieurs plateformes, y compris en homebrew sur une Sony PSP.Deuxième:Je souhaite créer un système GUI sans utiliser un système existant.

Modifier 2 : Je pense que certains d'entre vous ne comprennent pas, je ne sais pas quoi faire utiliser un système GUI existant, je souhaite en construire un.

Qt dans sa forme actuelle n'est pas portable sur la PSP, sans parler de la surcharge d'une telle tâche.

Cela dit, j'ai décidé de créer une IM-GUI et j'ai commencé à prototyper le code.

Était-ce utile?

La solution

Je n'utiliserais pas OpenGL pour l'interface graphique à moins que vous ne prévoyiez une accélération matérielle et/ou des effets 3D que vous ne pensez pas obtenir avec une boîte à outils GUI plus traditionnelle (par exemple Qt, wxWidgets, GTK, etc).Si vous avez juste besoin d'une interface graphique simple et rapide pour héberger vos graphiques OpenGL, alors FLTK est un bon choix.Sinon, pour rendre l'interface graphique directement dans OpenGL, il existe des bibliothèques comme L'interface graphique de Crazy Eddie qui font exactement cela et fournissent beaucoup de skinnable widgets que vous n'aurez pas à réinventer.La fenêtre et le contexte OpenGL pourraient alors être dotés d'une bibliothèque portable comme SDL.

MODIFIER:Maintenant que je suis revenu et que j'ai regardé ton autre poste Je pense avoir une meilleure compréhension de ce que vous demandez.Pour une interface graphique sur un système embarqué comme la Nintendo DS, j'envisagerais d'utiliser une interface graphique en "mode immédiat". Jari Kompa a un bon tutoriel à leur sujet, mais vous pouvez utiliser une approche plus orientée objet avec C++ que le code C qu'il présente.

Autres conseils

http://www.fox-toolkit.org a une référence API, si vous cherchez comment travailler avec un framework spécifique.Ou étiez-vous plus intéressé par la théorie générale ou par quelque chose de plus proche de la façon de faire vous-même les tâches de bas niveau ?

Pour plus d'informations sur l'interface graphique "mode immédiat", je peux vous recommander le Forums Molly Rocket.Il y a une bonne présentation vidéo de la réflexion derrière IM-GUI, ainsi que de nombreuses discussions.

J'ai récemment piraté un système IM-GUI très rapide basé sur une présentation sur la page de Jari, et dans mon cas, où je voulais juste pouvoir avoir quelques boutons et cases à l'écran, et plus ou moins juste du code en dur. la réponse aux entrées, cela semblait vraiment être la bonne chose à faire, au lieu d'opter pour une architecture GUI plus complète.(C'était dans une application DirectX, donc le nombre de choix que j'avais était assez limité).

L'un des moyens les plus rapides consiste à utiliser Python avec une liaison graphique comme pyQt, PyFLTK, tkinter, wxPython ou même via pygame qui utilise SDL.

C’est facile, rapide et indépendant de la plate-forme.De plus, la gestion des colis est imbattable.

Voir:

Pour une plate-forme comme la PSP, je m'inquiéterais légèrement des performances d'une solution IM GUI.Avec un type de solution de mode conservé traditionnel, lorsque vous créez un contrôle, vous pouvez également créer la liste de tampons de sommets/d'affichage ou tout ce dont vous avez besoin pour le restituer.Avec une solution en mode immédiat, il me semble que vous auriez besoin de recréer cela dynamiquement à chaque image.

Cela ne vous intéressera peut-être pas, si vous ne faites que quelques boutons, ou si cela ne sera pas utilisé dans le jeu (en supposant que vous créez un jeu) mais, surtout si vous avez pas mal de texte, le coût du rendu pourrait commencer à faire mal si vous ne parvenez pas à trouver un moyen de mettre en cache les listes d'affichage d'une manière ou d'une autre.

Jettes un coup d'oeil à Qt.Il s'agit d'une bibliothèque open source pour créer des interfaces graphiques.Contrairement à Swing en Java, il suppose beaucoup de choses, il est donc très facile de créer des interfaces graphiques fonctionnelles.Par exemple, une zone de texte suppose que vous souhaitez un menu contextuel lorsque vous cliquez dessus avec le bouton droit avec copier, coller, tout sélectionner, etc.Le Documentation est également très bon.

Je vais seconder Qt.C'est multiplateforme, et je l'ai trouvé beaucoup plus facile à travailler que l'interface graphique intégrée de Visual Studio.Il s'agit d'une double licence, donc si vous ne voulez pas que votre code soit sous GPL, vous pouvez acheter une licence à la place.

J'ai jeté un œil à la vidéo de Molley Rocket et parcouru les didacticiels en cache de Jari Komppa.

Une IM-GUI semble la meilleure voie à suivre, je pense qu'elle sera beaucoup plus simple et beaucoup plus rapide à construire que le système que j'avais initialement en tête.

Maintenant un nouveau problème, je ne peux qu'exceptionner une seule réponse.:(

Merci encore à Monjardin et dooz, bravo.

truc2k

j'y jetterais un oeil GLAMME et GLGooey

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