我尝试混合两个纹理的alpha。首先纹理它的一些图像,第二纹理这是矩形与透明的圆形在中心。我需要混合这两个纹理,以便我的背景与transperent在中心。为此,我尝试使用glBlendFunc,但我只能得到整个透明背景,换句话说,我的背景全部变得透明。我怎样才能通过glBlendFunc混合alpha的纹理?在opengl 2.0中混合alpha 0
1
A
回答
1
一个问题是,您无法使用GLUtils.texImage2D()从Android上的位图加载Alpha纹理。这是Google真正需要更好记录的常见问题。问题在于Bitmap类将所有图像转换为预倍数格式,但这不适用于OpenGL ES,除非图像完全不透明。本文给出了更多关于这方面的细节:
要使用glBlendFunc(),您必须首先glEnable(GL_BLEND)启用它,而是用OpenGL ES混合2个纹理一起以最快的方式2.0是做它在片段着色器中。这里有一个简单的例子:
uniform sampler2D sampler2d_0;
uniform sampler2D sampler2d_1;
varying mediump vec2 texCoord;
void main()
{
vec3 vTexture0 = texture2D(sampler2d_0, texCoord);
vec3 vTexture1 = texture2D(sampler2d_1, texCoord);
vec3 vColor = mix(vTexture0, vTexture1, alpha);
gl_FragColor = vec4(vColor, 1.0);
}
相关问题
- 1. Alpha与OpenGL ES 2.0混合?
- 2. OpenGL alpha混合
- 3. OpenGL ES 2.0:Alpha混合问题
- 4. 如何在OpenGL ES 2.0中使用Alpha混合透明度?
- 5. OpenGL(libgdx) - 混合alpha地图
- 6. alpha混合在opengl es不工作
- 7. Android Opengl 2.0 Alpha混合问题 - 半透明纹理
- 8. OpenGL ES 2.0的混合
- 9. Libgdx/Opengl alpha混合(结果alpha被替换为源alpha)
- 10. OpenGL重复调用glTexImage2D和alpha混合
- 11. iPhone OpenGL ES不正确的alpha混合
- 12. 的OpenGL - GLSL着色器,alpha混合
- 13. OpenGL与源和目标alpha的混合
- 14. OpenGL Alpha混合问题,混合忽略(也许)?
- 15. OpenGL ES 2.0 PNG alpha通道
- 16. alpha混合在GTK
- 17. WebGL alpha混合
- 18. OpenGL ES 2.0,与所有东西混合
- 19. 混色VS Alpha混合
- 20. Emgu CV中的Alpha混合
- 21. 预乘alpha混合
- 22. 背景Alpha混合
- 23. Alpha混合颜色在.NET Framework精简2.0
- 24. DirectX9中的Alpha混合问题
- 25. 如何分开opengl中的颜色和alpha混合函数?
- 26. 哪些OpenGL ES 1.1 alpha混合配置在iOS上使用?
- 27. 在Monogame中Spritebatch的Alpha混合问题
- 28. C#Alpha混合形式Alpha混合控制
- 29. 在Java中处理alpha混合
- 30. OpenGLES混合bug,alpha积累