libgdx平滑pixelart渲染(这可能吗?)

wztqucjr  于 2021-07-07  发布在  Java
关注(0)|答案(1)|浏览(438)

当我加载一个16x16像素的图像到我的游戏中,并渲染它(在spritebatch中放大),一切看起来都很好。但是当你把窗口变小的时候,纹理也会变小(这很好),它们的像素在移动的时候会变得越来越小(不好)。有没有办法在像素之间做一个小的插值?我试过了 texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear); 但这使得整个纹理模糊。我看到了在线游戏diep.io,它在这个(网格线)上有很好的执行效果,我想知道我是否可以在我的libgdx游戏中做类似的事情。
我的纹理:

diep.io示例
(大框架)

(小框架)

jgzswidk

jgzswidk1#

我设法找到了一个简单的方法。fbo的想法很好,我想了很多。
我的解决方案是将所有内容渲染到一个帧缓冲区,该缓冲区的大小是帧大小的两倍(效果最好),然后将其缩小到适合帧的大小。我基本上让降尺度算法来处理这件事:)。
谢谢你,四位。你的评论真的帮助了我的想法,即使我的解决方案有点不同。
以下是我的成就:
无刻度:

比例尺x2:

比例尺x8:

我认为两倍大小的刻度看起来最平滑,所以我就用那个。

相关问题