p.s. : I used Anders Riggelsen's blending tool for the images.推荐答案进行完美融合的一种标准技术是使用A standard technique to do perfect blending is to useglBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);具有预乘纹理(或颜色,如果没有纹理的话).with premultiplied textures (or colors, if you don't have textures).预乘基本上是指在加载纹理时将 color.rgb * = color.a 应用于纹理(或将相同的等式应用于着色器中的最终颜色).Premultiplication basically means applying color.rgb *= color.a to the textures when you load them (or applying same equation to the final color in a shader).使用以下混合模式,无需预乘即可实现相同的结果:You can achieve same result without premultiplication with following blend mode:glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE_MINUS_SRC_ALPHA);请记住,两种混合模式都会产生预乘输出. 这篇关于OpenGL默认管道Alpha混合对Alpha组件没有任何意义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-21 12:56