fin*_*bob 3 android textures alpha-transparency opengl-es-2.0 libgdx
我在LibGdx开发3D Android应用程序时遇到了麻烦.我在回答自己的问题时简要提到了这一点,但我一直无法弄清楚为什么我无法从.png图像中获得透明度.
纹理是透明的,我在Windows上检查了我的OpenGL3 +框架,它们在正确的部分显示透明.
我的(简单占位符)片段着色器代码以:
vec4 finalColor = ambient + diffuse;
finalColor.a = colorMap.a;
gl_FragColor = finalColor;
Run Code Online (Sandbox Code Playgroud)
我试过finalColor.a = 0.1;哪个不起作用.
我已将此添加到我的代码中,但无济于事:
Gdx.gl20.glEnable(GL20.GL_DEPTH_TEST);      
Gdx.gl20.glBlendFunc(GL20.GL_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
Gdx.gl20.glEnable(GL20.GL_BLEND);
Run Code Online (Sandbox Code Playgroud)
我甚至检查过并改变了:
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
cfg.r = cfg.g = cfg.b = cfg.a = 8;
Run Code Online (Sandbox Code Playgroud)
我虽然是每个频道的比特数.
对此有任何帮助将不胜感激,我只是希望我不会忽视任何事情.这不是一个巨大的问题,我可以或多或少地完成我的项目而没有透明度,但我真的想知道为什么我不能让它工作.
GL_ALPHA不是合法的选择glBlendFunc.你要么GL_SRC_ALPHA(最有可能),要么GL_DST_ALPHA.
glGetError 本来对你有所帮助,你应该开始使用它!
http://www.khronos.org/opengles/documentation/opengles1_0/html/glBlendFunc.html
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3780 次  |  
        
|   最近记录:  |