当我尝试在 LibGDX 中使用 mipmap 过滤时,没有图像出现。
我是 LibGDX 的新手,我有一个简单的 2d 场景,其中包含三个旋转、缩放的圆圈。为了消除它们的锯齿,我想使用线性过滤。作为建议,我查看了这篇文章,它说,对于大规模缩放的图像,可以使用 mipmap 来提高速度或质量。
第一个意外的出现是,尽管我的所有图像都按比例缩小,但如果 magFilter 是线性的,我只会看到线性过滤器。换句话说:
此代码将显示缩小图像的线性过滤器:
parentTexture.setFilter(TextureFilter.Nearest, TextureFilter.Linear);
虽然此代码不会:
parentTexture.setFilter(TextureFilter.Linear, TextureFilter.Nearest);
这似乎与 libGDX 功能相反:
void com.badlogic.gdx.graphics.Texture.setFilter(TextureFilter minFilter, TextureFilter magFilter)
这不会打扰我,只是它表明 libgdx 是错误的(不太可能),文章是错误的(不太可能),或者我不了解纹理过滤器。当我尝试 mipmap 过滤器时,后者似乎特别有可能。
此代码不显示任何内容
parentTexture.setFilter(TextureFilter.MipMapLinearLinear, TextureFilter.Linear);
此代码显示,但最近过滤
parentTexture.setFilter(TextureFilter.Linear, TextureFilter.MipMapLinearLinear);
任何我错在哪里的解释将不胜感激。我在其他地方搜索过,但 libGDX 中的纹理过滤器非常具体,所以除了文章之外,我没有找到太多帮助。