vladisback
Messages postés61Date d'inscriptiondimanche 19 novembre 2000StatutMembreDernière intervention 5 août 2008
-
4 mai 2006 à 00:27
vladisback
Messages postés61Date d'inscriptiondimanche 19 novembre 2000StatutMembreDernière intervention 5 août 2008
-
5 août 2008 à 18:43
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);
/* 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);
/* 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);
}
vladisback
Messages postés61Date d'inscriptiondimanche 19 novembre 2000StatutMembreDernière intervention 5 août 2008 5 août 2008 à 18:43
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.
++