Java LibGDX像素抖动

Java LibGDX像素抖动,java,opengl,graphics,libgdx,Java,Opengl,Graphics,Libgdx,在使用LibGDX开发我的小游戏时,我发现了一个让我抓狂的小bug 像素有时比其他像素大。当移动相机和播放器精灵非常小时,这一点尤其明显。举个例子:嘴巴——一个红色像素——在运动过程中会抖动。如果相机和播放器不移动,可能会出现嘴巴突然变大两个像素的情况 我尝试将所有位置值设置为整数,而不是浮点数,但它实际上不起作用,因为我使用插值(lerp)来平滑相机移动。位置的整数值会导致口吃运动 问题是值1.5f介于1和2之间,因此openGL尝试绘制两个像素(1和2)。这对普通游戏来说没有问题,但我需要像

在使用LibGDX开发我的小游戏时,我发现了一个让我抓狂的小bug

像素有时比其他像素大。当移动相机和播放器精灵非常小时,这一点尤其明显。举个例子:嘴巴——一个红色像素——在运动过程中会抖动。如果相机和播放器不移动,可能会出现嘴巴突然变大两个像素的情况

我尝试将所有位置值设置为整数,而不是浮点数,但它实际上不起作用,因为我使用插值(lerp)来平滑相机移动。位置的整数值会导致口吃运动

问题是值1.5f介于1和2之间,因此openGL尝试绘制两个像素(1和2)。这对普通游戏来说没有问题,但我需要像素完美的纹理,因为这是一款像素艺术游戏

此图像应尝试直观地解释:


有没有办法避免此问题?

在顶点着色器中应用所有变换后,可以钳制到像素边界。这将使相机运动平稳,但不会出现上述问题。您能否澄清:您正在进行“复古”低分辨率艺术?你是如何管理你相机的尺寸的?使用视口类,如果是,使用哪一个?在顶点着色器中应用所有变换后,可以钳制到像素边界。这将使相机运动平稳,但不会出现上述问题。您能否澄清:您正在进行“复古”低分辨率艺术?你是如何管理你相机的尺寸的?使用视口类,如果是,使用哪一个?