java - libgdx numSamples 有什么样的副作用

标签 java android opengl-es libgdx

我正在尝试在我的视口(viewport)中的 50x50 方形区域中渲染一些 512x512 的图像,并且我使用线性纹理过滤。我的虚拟视口(viewport)大小是 550x800 像素。因此绘制纹理的正方形区域会根据屏幕分辨率进行缩放。

texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);

在屏幕分辨率为 720x1280 的三星 Galaxy S3 上,纹理绘制流畅,令人满意。

但在屏幕分辨率为 480x800 的三星 Galaxy S2 纹理上仍然存在锯齿问题。我在网上做了一些搜索,找到了 AndroidApplicationConfiguration

numSamples 参数
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.numSamples = 5;

libgdx documentation它说 “2 是一个很好的值”,但直到 numSamples 值为 5

时,我才能进行平滑渲染

我的问题是;什么样的副作用可能会导致 cfg.numSamples = 5 在性能、电池使用、CPU 过热等方面?

最佳答案

numSamples 是抗锯齿样本的数量。参见 http://en.wikipedia.org/wiki/Multisample_anti-aliasing获取更多信息。

您可能需要查看 mipmapping (TextureFilter.MipMap{Nearest/Linear}{Nearest/Linear}) 纹理过滤器。 TextureFilter.MipMapLinearNearest 或 TextureFilter.MipMapLinearLinear 可能会给您更好看的纹理,但您需要确保将纹理构造函数中的 useMipMaps 标志设置为“true”以生成 mipmap。

关于java - libgdx numSamples 有什么样的副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739497/

相关文章:

opengl-es - 在 OpenGL ES 2.0 中,如何从采样器读取相邻纹理像素?

ios - iPad 缺少 OpenGL 扩展字符串 GL_APPLE_texture_2D_limited_npot

android - 将 int 数组转换为 Android OpenGL ES 1.0 的 intbuffer?

java - 使用二分查找方法查找项目的索引

Android Simple MediaPlayer 问题

java - 获取列表中特定元素的数量

java - 为什么我的公共(public)变量显示为 "' 这'不可用”?

android - 音乐播放器请求写入外部存储权限?

java - 将 Map 作为用户定义的基础

java - Spring Boot是否自动解析javax和hibernate验证注解中的消息键