- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试寻找一种方法来重新创建或至少获得与 Android 设备上 OpenGl es 2.0 中的最大钳位混合方程类似的结果。
不幸的是,Android 不支持 glBlendEquation(GL_MAX_EXT)
。 GL_MAX enum
在 Android 的 gl header 中定义,但执行时,结果是 GL_INVALID_ENUM
,0x0500 错误。
我有一个使用着色器和屏幕外纹理的解决方案,每个纹理都使用着色器在纹理之间来回渲染乒乓球以计算最大像素值。
但是,对于大多数 Android 设备上的任何实时执行,此解决方案的速度不够快。
鉴于此限制,是否有任何方法可以仅使用不同的混合方程和混合因子来重新创建类似的结果?
我尝试了很多混合函数组合,最接近的是:
glBlendFunction(GL_SRC_ALPHA, GL_ONE_MINUS_ALPHA) : This comes close but textures become too transparent. Textures with low alpha values are difficult to see.
glBlendFunction(GL_ONE_MINUS_DST_ALPHA, GL_SRC_ALPHA) : This also comes some what close but the alpha accumulates too much and the colors become darker than intended.
最佳答案
如果你能做到GL_MAX
blending不需要特殊的混合功能...... OpenGL 永远不会首先添加它。因此,您的选择是不使用或使用着色器方法。
关于android - 使用其他方法创建等效的 GL_MAX 混合方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15169923/
我正在尝试寻找一种方法来重新创建或至少获得与 Android 设备上 OpenGl es 2.0 中的最大钳位混合方程类似的结果。 不幸的是,Android 不支持 glBlendEquation(G
我是一名优秀的程序员,十分优秀!