1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
GLuint C_fenetre::_buildTextes()
{
GLuint idAffTextes[12]; // Indice de Liste d'affichage
int i;
cerr << "\n\n ======= DEBUT CREATION TEXTES =======\n\n";
cerr << "id fenetre : " << this->_idFenetre << ", nbre ligne : "
<< this->_nbreLigne << "\n";
for (i = 0; i < this->_nbreLigne; i++)
{
idAffTextes[i] = glGenLists(1);
glNewList(idAffTextes[i], GL_COMPILE);
glBindTexture(GL_TEXTURE_2D, this->_lignesFenetre[i]->_textGL);
// _textGL est un GLuint reference a la texture GL à afficher
// issu de la conversion d'un surface SDL-TTF (par une autre fonction)
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex2i( this->_lignesFenetre[i]->_positionTexte.x,
this->_lignesFenetre[i]->_positionTexte.y);
glTexCoord2f(1.0,0.0);
glVertex2i( this->_lignesFenetre[i]->_positionTexte.x +
this->_lignesFenetre[i]->_positionTexte.w,
this->_lignesFenetre[i]->_positionTexte.y);
glTexCoord2f(1.0,1.0);
glVertex2i( this->_lignesFenetre[i]->_positionTexte.x +
this->_lignesFenetre[i]->_positionTexte.w,
this->_lignesFenetre[i]->_positionTexte.y +
this->_lignesFenetre[i]->_positionTexte.h);
glTexCoord2f(0.0,1.0);
glVertex2i( this->_lignesFenetre[i]->_positionTexte.x,
this->_lignesFenetre[i]->_positionTexte.y +
this->_lignesFenetre[i]->_positionTexte.h);
glEnd();
glEndList();
cerr << "CREATION Texte fenetre = ok, id : " << idAffTextes[i]
<< ", pos : " << this->_lignesFenetre[i]->_positionTexte.x
<< " | " << this->_lignesFenetre[i]->_positionTexte.y
<< ", Dimensions : " << this->_lignesFenetre[i]->_positionTexte.w
<< " x " << this->_lignesFenetre[i]->_positionTexte.h << "\n";
}
cerr << "\n\n ======= FIN CREATION TEXTES =======\n\n";
return idAffTextes[0];
} |
Partager