如果我使用这种映射
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
我的纹理工作正常,但我想摆脱像这样的像素闪光效果
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);
我尝试使用.jpg和.bmp的不同尺寸(1024x1024,512x512,256x256,128x128,64x64),效果总是这样。
答案 0 :(得分:3)
假设您的第一个版本没有mipmaps,并且您在两个版本中使用相同的输入数据:gluBuild2DMipmaps
的格式参数错误。看来你有RGBA数据,但告诉OpenGL它是RGB。