Как не показать края легкой маски? - PullRequest
0 голосов
/ 13 мая 2019

Я использую это изображение для своей легкой маски:

enter image description here

Но в игре края видны, как видно здесь:

enter image description here

Что я могу изменить, чтобы это не произошло? Это проблема с изображением или способ его визуализации? Мой код выглядит так:

frameBuffer.begin();

    Gdx.gl.glClearColor(CLEAR, CLEAR, CLEAR * 2, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);
    batch.setBlendFunction(GL20.GL_ONE, GL20.GL_ONE);
    batch.begin();

    // render lights
    currentMap.lightsController.render(batch);

    batch.end();

    frameBuffer.end();

    Gdx.gl.glClearColor(0, 0, 0, 1);
    batch.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    // render map, entities, everything
    currentMap.render(camera, batch);

    batch.setProjectionMatrix(batch.getProjectionMatrix().idt());
    batch.setBlendFunction(GL20.GL_ZERO, GL20.GL_SRC_COLOR);
    batch.begin();
    batch.draw(frameBuffer.getColorBufferTexture(), -1, 1, 2, -2);
    batch.end();

1 Ответ

1 голос
/ 20 мая 2019

Проблема в самой вашей текстуре.Это только не исчезло, чтобы закончить темноту / черный.На краю текстуры значение (легкость) все еще составляет около 3%.Просто переделайте текстуру и убедитесь, что ваш градиент правильный.

...