因此,经过一些工作后,我想出了如何自行修复它,我只是像处理常规图片一样转换了表面。如果其他人有兴趣或有类似问题,这是我使用的功能。
GLuint importText(const std::string &text,int font_size,const __int8 red,const __int8 green,const __int8 blue){
SDL_Color font_color = {blue,green,red};
TTF_Font* font=TTF_OpenFont("Font.ttf",font_size);
SDL_Surface *image = TTF_RenderText_Blended(font,text.c_str(),font_color);
SDL_DisplayFormatAlpha(image);
unsigned object(0);
glGenTextures(1,&object);
glBindTexture(GL_TEXTURE_2D, object);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE);
glTexImage2D(GL_TEXTURE_2D, 0,GL_RGBA,image->w,image->h,0,GL_RGBA,GL_UNSIGNED_BYTE,image->pixels);
texture_height=image->h; texture_width=image->w;
SDL_FreeSurface(image);
TTF_CloseFont(font);
return object;}