IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

[Source] [SDL] Textures Textes OpenGL


Sujet :

Contribuez

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut [Source] [SDL] Textures Textes OpenGL
    Voici un programme qui permet de charger et afficher du texte sous OpenGL utilisant SDL_ttf.

    J'ai mis un petit programme qui affiche le texte et utilise la position de la souris pour déplacer le texte...

    Jc
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Je rajoute à ce fil une troisième source que je trouve importante.

    Premièrement, une version de CTexte (la source du premier post de ce fil) qui n'utilise pas OpenGL mais qui fait les mêmes choses.

    Par contre, j'ai ajouté deux fonctions à la classe, une fonction qui ajoute une lettre et une qui en enlève une.

    Cela permet de faire une saisie au clavier par exemple

    Utilisant l'unicode, ce code semble fonctionner sur un clavier Qwerty, Azerty sous Windows et sous linux

    [EDIT] à Frank.h d'avoir testé sous linux avec un clavier Azerty [/EDIT]

    Jc

    Remarque : pour utiliser cette source, vous devez chercher un fichier ttf de votre choix. J'ai voulu gardé ma source libre et sans remerciements

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Y a pas mal de sources en attente, faudrait que je fasse une mise à jour un de ces 4...

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 213
    Par défaut
    On peut également rendre le fond du text transparent sans activer le alpha blending.

    Pour cela il faut rajouter dans le fichier Ctexte.cpp du dossier texture la partie en rouge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SDL_BlitSurface(temp, NULL, temp2, NULL);
    
    
    SDL_SetColorKey(temp2, SDL_SRCCOLORKEY, SDL_MapRGB(temp2->format, 0, 0, 0));
    SDL_Surface *temp3 = SDL_DisplayFormatAlpha(temp2);
    
    
    // Jonction entre OpenGL et SDL.
    glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, temp3->w, temp3->h, 0,
                                GL_RGBA, GL_UNSIGNED_BYTE, temp3->pixels);
    
    SDL_FreeSurface(temp3);
    Et bien sur enlever "glEnable(GL_BLEND)".

    J'ai opté pour cette solution, car le alpha-blending rendait également le corps de text semi-transparent, effet que je ne voulais pas.

  5. #5
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par BruceBoc
    On peut également rendre le fond du text transparent sans activer le alpha blending.

    Pour cela il faut rajouter dans le fichier Ctexte.cpp du dossier texture la partie en rouge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SDL_BlitSurface(temp, NULL, temp2, NULL);
    
    
    SDL_SetColorKey(temp2, SDL_SRCCOLORKEY, SDL_MapRGB(temp2->format, 0, 0, 0));
    SDL_Surface *temp3 = SDL_DisplayFormatAlpha(temp2);
    
    
    // Jonction entre OpenGL et SDL.
    glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, temp3->w, temp3->h, 0,
                                GL_RGBA, GL_UNSIGNED_BYTE, temp3->pixels);
    
    SDL_FreeSurface(temp3);
    Et bien sur enlever "glEnable(GL_BLEND)".

    J'ai opté pour cette solution, car le alpha-blending rendait également le corps de text semi-transparent, effet que je ne voulais pas.
    Tu peux me faire une version compléte avec tes changements, je suis trop fatigué pour le faire moi-même

    Jc

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 213
    Par défaut
    Voici donc les 2 versions sans utilisation du Blending :
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/06/2009, 12h30
  2. Réponses: 1
    Dernier message: 11/03/2009, 19h22
  3. [SOURCE][SDL][OPENGL]Singleton pour gérer le fenêtrage
    Par shenron666 dans le forum Contribuez
    Réponses: 26
    Dernier message: 24/08/2006, 12h01
  4. texture sous opengl : objets complexes
    Par pouleriguen dans le forum OpenGL
    Réponses: 1
    Dernier message: 20/11/2004, 20h47
  5. BP avec Textures en OpenGL
    Par skyghis dans le forum OpenGL
    Réponses: 11
    Dernier message: 27/11/2003, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo