Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDL avec Opengl

J'ai lu le tuto de Kayl

Sujet résolu
    18 décembre 2007 à 21:05:21

    Bonjour.
    J'ai lut le tuto de Kayl( très bien fait d'ailleurs ) et j'ai réussi a faire des programmes en opengl et sdl mais j'aimairais maintenant pouvoir combiner le blittage et Opengl. Sauf que ça marche pas. Car j'aimerais bien créer l'interface.
    Merci de m'aider :)
    • Partager sur Facebook
    • Partager sur Twitter
      18 décembre 2007 à 22:05:38

      Bah non OpenGL et le blittage ne risquent pas de fonctionner ensemble... Qu'est-ce qui t'empêches d'utiliser la 2D avec OpenGL pour faire ton interface ??
      • Partager sur Facebook
      • Partager sur Twitter
        19 décembre 2007 à 16:49:53

        Mais comment? Je fait un carré et je mets une images dessus ou bien comment?
        • Partager sur Facebook
        • Partager sur Twitter
          19 décembre 2007 à 16:52:38

          essai de faire des fonctions carre() ou etc...
          mais n'inclus pas les headers de OpenGL.
          Creer ta fonction dans un autre fichier ^^
          • Partager sur Facebook
          • Partager sur Twitter
            19 décembre 2007 à 17:03:46

            Tu fais un carré texturé ^^ .

            En fait tu peux dessiner très facilement un carré. Lors de ce procédé tu peux choisir sa couleur, mais tu peux aussi choisir d'y appliquer une image (en l'occurrence l'image de l'objet de ton interface).

            Bon ok j'avoue là il va falloir te débrouiller pour le chargement de l'image, ou réussir à utiliser les informations de la structure SDL_Surface pour créer la texture dans OpenGL (je n'ai jamais approfondi la question).

            Tu as un article très bien expliqué pour créer une texture dans OpenGL à partir d'un fichier image PNG, mais je ne te conseille pas de commencer par ça si tu découvres à peine OpenGL. Apprend d'abord à dessiner des formes géométriques, effectuer des transformations (rotations, translations, redimensionnement), manipuler les matrices de modélisation et de projection (c'est peut-être du chinois pour toi ^^ mais faut passer par là !).

            Et après ben c'est sûr qu'OpenGL c'est plus complexe que la SDL, mais en même temps les possibilités sont énormes !! Moi-même je ne suis pas près d'avoir découvert toutes les capacités de cette bibliothèque (et je ne mâche pas mes mots ;) ).

            Bon courage ! :p
            • Partager sur Facebook
            • Partager sur Twitter
              19 décembre 2007 à 17:09:53

              Je sais déjà ce que c'est les matrices. Et j'ai aussi déjà fait des objets texturés et des animatation(cubes qui bougent...) Mais comment savoir que la souris est exactement sur le carré(de l'interface)? Car la SDL ne peut pas repérer la position d'un carré puisque SDL et Opengl sont deux choses différentes(a moins que je me trompe :-° )
              Merci de vos réponses.
              • Partager sur Facebook
              • Partager sur Twitter
                19 décembre 2007 à 17:16:34

                La SDL te donne les coordonnées de la souris (relatives à la fenêtre ou absolues ?). En effet elle ne peut pas repérer le carré, mais connaissant la position du carré (puisque tu l'as dessiné) et la position de la souris, tu peux savoir quand la souris est sur le carré.
                • Partager sur Facebook
                • Partager sur Twitter
                  19 décembre 2007 à 17:53:21

                  Merci. Juste une derniere question. Pour les texts, c'est un peu comme le blitage mais comment faire avec Opengl?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 décembre 2007 à 20:46:45

                    Ne t'occupe pas du texte pour l'instant, c'est déjà plus tordu ^^ . Enfin je dis ça parce que quand j'avais essayé je n'avais pas réussi, mais depuis le temps faudrait que je retente le coup...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 décembre 2007 à 21:38:37

                      tu veux faire une interface ?
                      utilise Qt :)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        19 décembre 2007 à 21:57:43

                        Je pense que s'il a choisi d'utiliser OpenGL ce n'est peut-être pas seulement pour faire une interface :-° ...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 décembre 2007 à 0:16:30

                          Pour ecrire du texte, tu peux utiliser une image de ce type:
                          http://darkfiston.free.fr/Mario%20Project/sprites_test/ascii.PNG
                          (bricolage maison avec exel :D)

                          Il reste à bricoler une fonction qui prend une string en argument, et qui ecrit la chaine à l'ecran. Il suffit, pour chaque lettre, de recuperer les coordonnées de texture correspondantes dans l'image (en partant du code ascii du caractere ça se fait très bien ;)) et d'afficher un carré avec la texture plaquée dessus. :)


                          Si t'es plus courageux, t'as ça:
                          http://www.angelcode.com/products/bmfont/

                          Plus propre que la methode maison (écart entre les lettres respecté), mais il faut s'amuser à lire les coordonnées de chaque lettre dans un fichier généré par ce programme. Donc plus long et difficile à coder. Mais rien ne t'empeche de t'en faire une petite lib perso que tu pourras reutiliser pour tes autres programmes, donc ça peut valoir le coup. Je songe d'ailleur à le faire dans quelques temps.



                          Sinon avec SDL_ttf, c'est aussi jouable. C'est la methode la plus rapide à coder mais probablement plus lente à l'execution (mais dans quelle mesure?...).
                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 décembre 2007 à 6:59:22

                            Merci, merci. :) Ok. J'essayerai. :)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 décembre 2007 à 12:41:35

                              "Car j'aimerais bien créer l'interface."

                              je persiste et signe ... utilise Qt , tu peux tres bien combiner Qt et OpenGL ... (et du coup pas besoin de la SDL ...)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                20 décembre 2007 à 16:50:07

                                Mais ou trouver des tuto sur QT?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  20 décembre 2007 à 17:18:47

                                  partout ... la doc est génial , les gens de qt-fr sont sympa ...
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    20 décembre 2007 à 21:40:11

                                    le " t " de Qt est en minuscule !
                                    je vais t'ecorcher vif ( XD ) !!!
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      13 août 2008 à 23:52:59

                                      le temp passe (tuto QT)
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      SDL avec Opengl

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown