我找不到我的错误,为什么没有创建文本?当使用纹理而不是文本时,我什么也得不到或带有彩色点的黑色背景,请帮忙
GLuint texture;
SDL_Surface *text = NULL;
TTF_Font *font = NULL;
SDL_Color color = {0, 0, 0};
font = TTF_OpenFont("../test.ttf", 20);
text = TTF_RenderText_Solid(font, "Hello, SDL !!!", color);
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, text->w, text->h, 0, GL_RGB, GL_UNSIGNED_BYTE, text->pixels);
SDL_FreeSurface(text);
最佳答案
您可以添加的一件事是指定纹理过滤器,例如
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
关于c++ - 将 SDL 表面转换为 GL 纹理时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27546086/