gpt4 book ai didi

java - libgdx 纹理过滤器和 mipmap

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:10:21 25 4
gpt4 key购买 nike

当我尝试在 LibGDX 中使用 mipmap 过滤时,没有图像出现。

我是 LibGDX 的新手,我有一个简单的二维场景,其中包含三个旋转、缩放的圆圈。为了消除混叠,我想使用线性过滤。为了寻求建议,我查看了 this article ,其中表示,对于高度缩放的图像,可以使用 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 中的纹理过滤器非常具体,所以除了这篇文章之外,我找不到太多帮助。

最佳答案

我遇到了同样的问题,结果发现解决起来非常简单。当您创建一个 Texture 时,您需要指定它使用 mipmaps。

您所要做的就是将第二个参数传递给 Texture 构造函数,如下所示:

纹理 myTexture = new Texture(Gdx.files.internal("myImage.png"), true);

您可以在此处的 API 文档中查看所有 Texture 类构造函数:http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/Texture.html

关于java - libgdx 纹理过滤器和 mipmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15378791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com