【问题标题】:LIBGDX - How to get rid of banding effect on gradient background?LIBGDX - 如何摆脱渐变背景上的条带效应?
【发布时间】:2018-12-30 03:02:59
【问题描述】:

我在我的游戏中遇到了与渐变相关的纹理的条带问题,我似乎无法找到原因以及如何解决它。

这就是我所说的:左边是我的游戏中的渐变,而右边是渐变生成器应用程序(Tint)中生成的渐变。我们可以清楚地看到条带问题。

为了创建我的渐变,我使用此代码生成了一个纹理,用于创建我缩放以填充用户屏幕的图像。

Pixmap pix = new Pixmap(2, 2, Pixmap.Format.RGBA8888);
pix.setColor(colorSchemes[backgroundColorScheme.ordinal()].getTopColor());
pix.fillRectangle(0,0,2,1);
pix.setColor(colorSchemes[backgroundColorScheme.ordinal()].getBottomColor());
pix.fillRectangle(0,1,2,1);

Texture texture = new Texture(pix);
texture.setFilter(Texture.TextureFilter.Linear, 
Texture.TextureFilter.Linear);
pix.dispose();

当我尝试在背景顶部添加 fog-like 演员以对其进行动画处理时,我还遇到了另一个问题。我缩放它们,改变它们的不透明度并四处移动它们,我再次遇到如下图中突出显示的条带问题。

我正在尝试复制游戏中的背景效果 https://www.youtube.com/watch?v=_vBczzj3NAU

我的渲染屏幕渲染循环中有这段代码:

@Override
public void render (float delta) {
    Gdx.gl.glClearColor(0,0,0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    Gdx.gl.glEnable(GL20.GL_BLEND);
    Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
}

关于如何解决这些问题有什么想法吗?任何帮助将不胜感激。

【问题讨论】:

    标签: libgdx gradient


    【解决方案1】:

    将每个颜色通道的位数(我相信默认为 5 位)增加到 8 位解决了我的条带问题。

    在 AndroidLauncher.java 中

    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
    config.r = config.g = config.b = config.a = 8;
    

    在 DesktopLauncher.java 中

    LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
    config.r = config.g = config.b = config.a = 8;
    

    【讨论】:

    • 感谢您的建议,我已经尝试过了,但没有任何改变。我不知道它是否在其他地方被覆盖,因为即使将它们设置为 1 位也不会改变任何东西。我注意到在 AndroidGraphics.java 类中,有一个使用 private BufferFormat bufferFormat = new BufferFormat(5, 6, 5, 0, 16, 0, 0, false); 初始化的 bufferFormat会不会是这个问题?
    • 我不确定还有什么问题,抱歉。您也可以尝试在官方 LibGDX 论坛上提问,他们可能会提供帮助。 badlogicgames.com/forum
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多