Android 使用其他方法创建等效的GL_MAX混合方程

Android 使用其他方法创建等效的GL_MAX混合方程,android,opengl-es,opengl-es-2.0,Android,Opengl Es,Opengl Es 2.0,我正试图找到一种方法,在Android设备上重新创建或至少有一个类似于OpenGl es 2.0中的max clamp混合方程的结果 不幸的是,glBlendEquation(GL\u MAX\u EXT)在Android上不受支持GL_MAX enum在Android的GL头中定义,但执行时,结果是GL_INVALID_enum​, 0x0500错误 我有一个使用着色器和屏幕外纹理的解决方案,其中每个渲染在纹理之间来回乒乓,使用着色器计算最大像素值 然而,这个解决方案对于大多数Android设

我正试图找到一种方法,在Android设备上重新创建或至少有一个类似于OpenGl es 2.0中的max clamp混合方程的结果

不幸的是,
glBlendEquation(GL\u MAX\u EXT)
在Android上不受支持
GL_MAX enum
在Android的GL头中定义,但执行时,结果是
GL_INVALID_enum
​, 0x0500错误

我有一个使用着色器和屏幕外纹理的解决方案,其中每个渲染在纹理之间来回乒乓,使用着色器计算最大像素值

然而,这个解决方案对于大多数Android设备上的任何实时执行来说都不够快

鉴于这一限制,是否有任何方法可以使用不同的混合方程和混合因子来重建类似的结果

我尝试过许多混合函数组合,最接近的是:

glBlendFunction(GL_SRC_ALPHA,GL_ONE_减去_ALPHA):这很接近,但纹理变得过于透明。alpha值较低的纹理很难看到

glBlendFunction(GL_ONE_减去_DST_ALPHA,GL_SRC_ALPHA):这也很接近,但ALPHA累积太多,颜色变得比预期的颜色暗

如果你不需要特殊的混合函数。。。OpenGL从一开始就不会添加它。因此,您可以选择不使用或使用着色器方法