Libgdx 3D 纹理透明度
我在使用具有透明区域的纹理时遇到问题.基本上,它是呈现在立方体上的硬币纹理.我无法让角落看起来透明,它们只是显示为白色/灰色.
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.
我确保启用了 G20.GL_Blend
,所以不可能.
I made sure to enable G20.GL_Blend
, so that can't be it.
这是我在 render()
方法中使用的代码(我尝试了不同的组合):
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);
推荐答案
为模型添加混合属性:
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)
)
相关文章