我想矇蔽小於蒙版的背景圖像。並且背景和蒙版之間的空間顯示爲黑色。含有alpha的蒙版圖像會使內蒙版黑色
這是我使用的代碼:
batch.end();
batch.begin();
Gdx.gl20.glColorMask(false, false, false, true);
batch.setBlendFunction(GL20.GL_ONE, GL20.GL_ZERO);
batch.draw(mask, getX(), getY());
batch.flush();
Gdx.gl20.glColorMask(true, true, true, true);
batch.setBlendFunction(GL20.GL_DST_ALPHA, GL20.GL_ONE_MINUS_DST_ALPHA);
batch.draw(texture, getX(), getY());
batch.flush();
batch.setBlendFunction(GL20.GL_SRC_ALPHA,GL20.GL_ONE_MINUS_SRC_ALPHA);
batch.end();
batch.begin();
我嘗試了所有類型的功能組合,沒有任何成功。可能我錯過了一些東西。
更新
附加我建立src和DST混合功能的所有可能的(相關)的結果圖。幸運的是,以下都沒有發揮作用,正如我猜測的那樣,爲了達到結果還需要做更多的事情。
Gdx.gl20.glColorMask(true, true, true, true);
batch.setBlendFunction(src_func, dst_func);
batch.draw(texture, getX(), getY());
這是一個非常詳細和內容豐富的問題。 – Programmer