I'm having a problem with a texture which has transparent areas. Basically it is a texture of a coin rendered onto a cube. I can't get the corners to appear transparent, they just show up as white/gray.
I made sure to enable G20.GL_Blend, so that can't be it.

This is the code I use in the render() method (I tried different combinations):
    Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
    Gdx.gl20.glEnable(GL20.GL_BLEND);
    Gdx.gl20.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
    Gdx.gl20.glEnable(GL20.GL_TEXTURE_2D);
    Gdx.gl20.glBlendEquation(GL20.GL_BLEND);
    
    modelBatch.begin(cam);
    texture.bind();
    modelBatch.render(instance, environment);
    modelBatch.end();
        
    Gdx.gl20.glDisable(GL20.GL_TEXTURE_2D);
                Add a blending attribute to the model:
http://www.badlogicgames.com/forum/viewtopic.php?f=11&t=10016&p=45952#p45369
Edit.- Link dead. It is like this:
modelInstance.materials.get(0).set(
    new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)
)
                        You need to add a BlendingAttribute to your ModelInstance:
modelInstance.materials.get(0).set(
    new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)
)
You can also add it in your ModelBuilder code (where you create a Model which can create ModelInstances):
new Material(
    TextureAttribute.createDiffuse(yourTransparentTexture), 
    new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA))
)
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With