hello
i have a problem when i call this
texture(FONT_TEX, "font.png", false);
the call this
drawquad()
{
glColor3f(r,g,b);
glBegin(GL_POLYGON)
glVertex2f(...)
glVertex2f(...);
glVertex2f(...);
glVertex2f(...);
glEnd();
}
and go into ortho and draw my quad it appears just black without color (if i set the clear color to a non-black color) , however when i don''t call my texture() function then my quad will appear with color. why does calling my texture function make my quad black?
bool war::texture(int tnum, char *texname, bool clamp)
{
SDL_Surface *s = pngLoad(texname);
glBindTexture(GL_TEXTURE_2D,tnum);
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, clamp ? GL_CLAMP_TO_EDGE : GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, clamp ? GL_CLAMP_TO_EDGE : GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); //NEAREST);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
if(gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB, s->w, s->h, GL_RGB, GL_UNSIGNED_BYTE, s->pixels))
{
cout << "texture " << tnum << " fatal: could not build mipmaps for this texture" << endl;
return false;
}
SDL_FreeSurface(s);
return true;
}