begin process at 2012 05 30 01:43:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

Probleme d'alpha avec SDL_ttf


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme d'alpha avec SDL_ttf

jeudi 4 mai 2006 à 00:27:49 | Probleme d'alpha avec SDL_ttf

vladisback

Je suis entrain de m'arracher les cheuveux avec SDL_ttf, j'essai simplement d'afficher du texte de n'importe quelle couleur opaque sur un fond transparent, cela fonctionne parfaitement avec TTF_RenderText_Solid, mais dés que j'utilise TTF_RenderText_Blended pour avoir une meilleur qualité ça ne fonctionne plus, apparament dans ce cas la au lieu que seul le fond soit transparent c'est tout qui disparait... pourtant il me semble que ça fonctionne de la même façon...
est-ce que je me trompe?
d'ou peut venir le probleme s'il y en a réellement un?

mon code:
intialisation avec ça:
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  glEnable(GL_BLEND);

(pour utiliser le canal alpha)

et puis le principal pour rendre le texte:


void SDL_GL_RenderText(char *text,
                      TTF_Font *font,
                      SDL_Color color,
                      SDL_Rect *location)
{
 SDL_Surface *initial;
 SDL_Surface *intermediary;
 SDL_Rect rect;
 int w,h;
 GLuint texture;
 
 /* Use SDL_TTF to render our text */
 initial = TTF_RenderText_Blended(font, text, color);
 // remplacer si dessus pas TTF_RenderText_Solid et ça fonctionne...
 
 /* Convert the rendered text to a known format */
 w = nextpoweroftwo(initial->w);
 h = nextpoweroftwo(initial->h);
 
 intermediary = SDL_CreateRGBSurface(0, w, h, 32,
   0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000);

 SDL_BlitSurface(initial, 0, intermediary, 0);
 
 /* Tell GL about our new texture */
 glGenTextures(1, &texture);
 glBindTexture(GL_TEXTURE_2D, texture);
 glTexImage2D(GL_TEXTURE_2D, 0, 4, w, h, 0, GL_RGBA,
   GL_UNSIGNED_BYTE, intermediary->pixels );
 
 /* GL_NEAREST looks horrible, if scaled... */
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

 /* prepare to render our texture */
 glEnable(GL_TEXTURE_2D);
 glBindTexture(GL_TEXTURE_2D, texture);
 glColor3f(1.0f, 1.0f, 1.0f);
 
 /* Draw a quad at location */
 glBegin(GL_QUADS);
  /* Recall that the origin is in the lower-left corner
     That is why the TexCoords specify different corners
     than the Vertex coors seem to. */
  glTexCoord2f(0.0f, 1.0f);
   glVertex2f(location->x    , location->y);
  glTexCoord2f(0.0f, 0.0f);
   glVertex2f(location->x    , location->y + h);
   glTexCoord2f(1.0f, 0.0f);
   glVertex2f(location->x + w, location->y + h);    
        glTexCoord2f(1.0f, 1.0f);
   glVertex2f(location->x + w, location->y);


 glEnd();
 
 /* Bad things happen if we delete the texture before it finishes */
 glFinish();
 
 /* return the deltas in the unused w,h part of the rect */
 location->w = initial->w;
 location->h = initial->h;
 
 /* Clean up */
 SDL_FreeSurface(initial);
 SDL_FreeSurface(intermediary);
 glDeleteTextures(1, &texture);
}

mardi 5 août 2008 à 12:14:14 | Re : Probleme d'alpha avec SDL_ttf

jeanbono_2


Je suis confronté au même problème ... Est-ce que ce problème a fini par être résolu ? Si oui, comment ?
Merci !

Nicolas Michel -
mardi 5 août 2008 à 18:43:58 | Re : Probleme d'alpha avec SDL_ttf

vladisback

Désolé, mais je n'ai aucun souvenir si j'avais trouvé une solution ou pas.
Il faut dire aussi que je programme un peu moins maintenant et que je n'utilise plus SDL.
J'espère que tu trouvera la solution.
++


Cette discussion est classée dans : sdl, gl, location, texture, 0f


Répondre à ce message

Sujets en rapport avec ce message

SDL Opengl lumiere [ par xian240482 ] Alors là, je comprend pas!Voila un mon code (ultra simplifier) et il ne marche pas : Il plante sur le glend() !Si c'est ,comme je le crois, une erreur Texture d'une glutSphere [ par Dante41 ] Salut à tous, J'ai besoin de votre aide. j'essaie de recréer le système solaire en OpenGL par conséquent , il faut que je fasse toutes les planètes av Problemes OpenGl avec SDL [ par ToNtOnYoYo ] bonjour bonjour... voila mon prob.. j'essaye d'afficher une simple ligne nooire ds ma fenetre ( créé avec SDL) et ca ne marche pas .. je vous laiss TEXTURE SDL_IMAGE JPEG [ par Batman60 ] salutquelqu'un peut me dire ce qui cloche dans mon bout de code utilisé pour charger une texture jpeg j'utilise la lib SDL_IMAGE pour celaest-ce que c bitmap avec SDL_image? [ par Batman60 ] Bonjour Comment afficher des bitmaps correctement(bonnes couleurs,et image non inversée) avec ce code (SDL_ima PB POUR LA GESTION MULTIFENETRES [ par algeros ] Voici un code ://////////////////////////////////////////////////////////////////                                                          //   Name: Problème d'affichage de texture [ par Turok ] Bonjour,Alors voila le problème est simple, voici un code que j'utilise pour afficher une simple image 2d en utilisant OpenGl et SDL, mais celui ci ne Texture transparente [ par F0ra ] Bonjour,Je voudrais aff Problème de placage de texture [ par unrealgun ] Bonjour,Je suis en train de développer uGUI en C++ sous linux avec SDL et OpenGL.Voila mon probleme : je charge une image PNG transparente avec SDL_Im Texture avec OpenGl [ par Zakata ] Bonjour,Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,451 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales