Я пытаюсь сочетать белую текстуру с изменяющимися значениями альфа с цветным фоном. Я ожидаю, что результат сохранит цвета на заднем фоне и заменит альфа-значения на единицы из смешанной текстуры.OpenGL (libgdx) - смешение альфа-карты
Так, для фона я использую:
Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendEquationSeparate(GL20.GL_FUNC_ADD, GL20.GL_FUNC_ADD);
Gdx.gl.glBlendFuncSeparate(GL20.GL_ONE, GL20.GL_ZERO, GL20.GL_ONE, GL20.GL_ZERO);
Я ожидаю, что фоновые треугольники сетки, чтобы отменить назначение, как цвет и альфа.
Вопрос 1 - почему с этими параметрами blendFunc альфа-значение игнорируется? Если я установил blendfunc в GL_ONE, GL_ONE, GL_ZERO, GL_ZERO, тогда заполненная сетка будет отображаться с соответствующим альфа-уровнем, но как источник, так и dest alpha должны быть умножены на ноль - почему это работает?
====
Теперь смешать альфа-карту я использую:
Gdx.gl.glBlendEquationSeparate(GL20.GL_FUNC_ADD, GL20.GL_FUNC_ADD);
Gdx.gl.glBlendFuncSeparate(GL20.GL_ZERO, GL20.GL_ONE, GL20.GL_ONE, GL20.GL_ZERO);
Вопрос 2 - это должно сохранить цвет назначения и замены альфа. Тем не менее, когда я визуализую текстуру с этими параметрами blendfunc, я вообще не получаю никаких изменений в выходе ...
Я читал главу о смешивании opengl снова и снова, чтобы понять, что я не понимаю, пожалуйста , поделиться своим представление о том, как эти параметры фактически работают