我正在使用glBlendFunc()将一张图像合成到另一张图像上,试图近似photoshop的差异合成功能。我希望在两个图像的相似性是黑色的,而任何不同的弹出。
据我所知,glBlendfunc()对于在上下文中合成的任何图像都是关联的。对吗?
发布于 2012-06-25 04:27:00
我真的想不出用glBlendFunc做这件事的任何方法。你可以使用类似这样的东西:
glBlendEquation(GL_FUNC_SUBTRACT);
glBlendFunc(GL_ONE, GL_ONE);但仅当第二个纹理的幅值大于第一个纹理的幅值时才有效(任何负的减法结果都将钳制为零)。
我建议使用多重采样着色器同时对两个纹理进行采样,并将结果作为绝对差输出。
gl_FragColor = abs(texture2D(tex1, uv) - texture2D(tex2,uv));https://stackoverflow.com/questions/11180816
复制相似问题