private void renderBlend(Surface input1, Surface input2, Surface output) { if (output.hasAlpha()) { output.process(new Blit().setBlendMode(BlendMode.Add).setOpacity(1 - mix), input1); output.process(new Blit().setBlendMode(BlendMode.Add).setOpacity(mix), input2); input1.release(); } else { output.copy(input1); input1.release(); output.process(new Blit().setBlendMode(BlendMode.Normal).setOpacity(mix), input2); } input2.release(); }