Partage
  • Partager sur Facebook
  • Partager sur Twitter

[OPENGL]Afficher du texte sans SDL

J'ai trouvé une lib, mais c'est l'horreur à compiler....

    26 mai 2006 à 7:35:56

    Bonjour :)


    Je n'utilise pas SDL pour le fenetrage, mais GLFW. Du coup, pour afficher du texte, je ne peux pas utiliser SDL_ttf. J'ai trouvé cette librairie :

    http://oglft.sourceforge.net/

    Elle se télécharge ici :

    http://sourceforge.net/projects/oglft

    Mais malheuresement, elle n'est pas compilée, et c'est l'horreur pour le faire. Je suis sous Windows.

    Quelqu'un aurait-il l'amabilité de compiler cette magnifique librairie pour moi ?? :euh:
    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2006 à 12:16:10

      Salut,
      si tu veux je suis arrivé à compiler OGLFT mais sans le support des polices en "Solid" car celles-ci suppose l'utilisation de GLE que je n'ai pas sur mon PC . Toutes fois OGLFT marche très bien sans(mais pas avec les solid) .
      Je suis en train d'essayer de compilé GLE(pas facile) mais c'est pas encore réussie .
      • Partager sur Facebook
      • Partager sur Twitter
        26 mai 2006 à 14:42:14

        Une technique pas mal répendu consiste à avoir un fichier image avec la police à utiliser dedans, et tu affiches ensuite les lettres qu'il faut.

        Voici le bout de code(C#) permettant d'écrire :


        public void Write(PFont Font, string Message, int X, int Y)
                {
                    const short NumberCarLine = 16;
                    const float TextureSpaceBetweenCaracter = 0.0625f; // (1/16)

                    float XTexture=0.0f, YTexture=0.0f; // Texture coordonne
                    int i=0; // Iterator
                    int SizeOfString = Message.Length;
                    char Caracter; // Actual caracter.
                    int XOrigin = X; // Where to start to draw.
           
                    // Exit if the string is empty<image></image>
                    if (SizeOfString == 0)
                        return;

                    // Dessin
                    Gl.glColor4ub(Font.RedColor, Font.GreenColor, Font.BlueColor, 255);
                    Gl.glBindTexture(Gl.GL_TEXTURE_2D, Font.FontImage.Image.OpenglId);
           
                    Gl.glBegin(Gl.GL_QUADS);
                    for(i = 0; i < SizeOfString; ++i)
                    {
                        Caracter = Message[i];
                        XTexture = (float)(((int)(Caracter) % NumberCarLine) * TextureSpaceBetweenCaracter);
                        YTexture = (float)(((int)Math.Ceiling((float)(((int)(Caracter)) / NumberCarLine))) * TextureSpaceBetweenCaracter);

                        if (Caracter == '\n')
                        {
                            X = XOrigin;
                            Y -= Font.VerticalSpace;
                        }

                        else
                        {
                            Gl.glTexCoord2f(XTexture, YTexture + TextureSpaceBetweenCaracter);
                            Gl.glVertex2i(X, Y);

                            Gl.glTexCoord2f(XTexture + TextureSpaceBetweenCaracter, YTexture + TextureSpaceBetweenCaracter);
                            Gl.glVertex2i(X + Font.CharWidth, Y);

                            Gl.glTexCoord2f(XTexture + TextureSpaceBetweenCaracter, YTexture);
                            Gl.glVertex2i(X + Font.CharWidth, Y + Font.CharHeight);

                            Gl.glTexCoord2f(XTexture, YTexture);             
                            Gl.glVertex2i(X, Y + Font.CharHeight);
                           
                            X += Font.HorizontalSpace;
                        }
                    }
                    Gl.glEnd();
                }


        Tien aussi voici 2 Fonts au format .TGA hmm je savais pas trop ou les hosters alors c'est un zip avec les 2 .TGA en fait mais j'ai renommé en .jpg^^

        http://img234.imageshack.us/img234/3530/font9yd.jpg
        ++
        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2006 à 17:08:22

          Citation : pamaury

          Salut,
          si tu veux je suis arrivé à compiler OGLFT mais sans le support des polices en "Solid" car celles-ci suppose l'utilisation de GLE que je n'ai pas sur mon PC . Toutes fois OGLFT marche très bien sans(mais pas avec les solid) .
          Je suis en train d'essayer de compilé GLE(pas facile) mais c'est pas encore réussie .



          Ca me serait très utile. De tout façon, je n'ai pas besoin du mode Solid. Je t'envoi un MP.

          Par contre, pour ta fonction CPPtryer, c'est du C# et en plus il faut que j'utilise des fichiers ttf. Merci quand meme à vous deux pour votre aide :)
          • Partager sur Facebook
          • Partager sur Twitter

          [OPENGL]Afficher du texte sans SDL

          × 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