Sto tentando di mascherare un'immagine di sfondo più piccola della maschera. e lo spazio tra lo sfondo e la maschera appare nero.L'immagine di mascheramento che contiene alfa rende la maschera interna nera
Questo è il codice che sto utilizzando:
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();
ho cercato combinazioni congressi per ogni tipo, senza alcun successo. probabilmente mi manca qualcosa.
Aggiornamento
Collegamento grafico che costruisco di tutte le possibili (rilevanti) risultati della funzione src e miscelazione dst. Fortunatamente nessuno dei seguenti sta funzionando, e come ho immaginato ci sia qualcosa di più da fare per raggiungere il risultato.
Gdx.gl20.glColorMask(true, true, true, true);
batch.setBlendFunction(src_func, dst_func);
batch.draw(texture, getX(), getY());
Questa è una domanda molto dettagliata e informativa. – Programmer