LIBGDX 流畅的像素艺术渲染(这可能吗?)
LIBGDX Smooth pixelart rendering (is this possible?)
当我将 16x16 像素艺术图像加载到我的游戏中并渲染它(在 spritebatch 中放大)时,一切看起来都很好。但是,当您将 window 变小时,纹理也会变小(这很好),并且它们的像素在移动时会变大和变小(不好)。
有没有办法在像素之间进行小插值?
我试过 texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
但这会使整个纹理变得模糊。
我看到在线游戏 diep.io 对此(网格线)执行得很好,我想知道我是否可以在 libgdx.
的游戏中做类似的事情
我的纹理:
diep.io 示例
(大框)
(小框)
我设法找到了一种简单的方法来做到这一点。和fbo的idea很好,想了很多。
我的解决方案是将所有内容渲染到帧大小的两倍(效果最好)的 FrameBuffer,然后缩小它以适合帧。我基本上让 downscale algorithm 来做这件事 :).
谢谢Thenfour。即使我的解决方案有点不同,您的评论也确实帮助了我的想法。
这是我的成就:
无比例:
比例 x2:
比例 x8:
我认为双倍尺寸的秤看起来最光滑,所以我会选择那个。
当我将 16x16 像素艺术图像加载到我的游戏中并渲染它(在 spritebatch 中放大)时,一切看起来都很好。但是,当您将 window 变小时,纹理也会变小(这很好),并且它们的像素在移动时会变大和变小(不好)。
有没有办法在像素之间进行小插值?
我试过 texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
但这会使整个纹理变得模糊。
我看到在线游戏 diep.io 对此(网格线)执行得很好,我想知道我是否可以在 libgdx.
我的纹理:
diep.io 示例
(大框)
(小框)
我设法找到了一种简单的方法来做到这一点。和fbo的idea很好,想了很多。
我的解决方案是将所有内容渲染到帧大小的两倍(效果最好)的 FrameBuffer,然后缩小它以适合帧。我基本上让 downscale algorithm 来做这件事 :).
谢谢Thenfour。即使我的解决方案有点不同,您的评论也确实帮助了我的想法。
这是我的成就:
无比例:
比例 x2:
比例 x8:
我认为双倍尺寸的秤看起来最光滑,所以我会选择那个。