OpenGL:有没有办法只保留源和目标之间的最大值?
OpenGL: is there a way to keep only the max value between source and destination?
假设我在帧缓冲区中有一个像素值为 100(共 255 个,1 个通道),并尝试向其写入 80。我想保留 100。但是如果我尝试将 120 写入同一个像素,我想将 120 写入它。
dest = max(dest, src)
有没有一种方法可以一次性完成,也许使用混合函数或片段着色器方法,这种方法的成本足够低,可以在 10K 的条带中以每个三角形为基础完成?
是的,您正在寻找 glBlendEquation(GL_MAX)。
假设我在帧缓冲区中有一个像素值为 100(共 255 个,1 个通道),并尝试向其写入 80。我想保留 100。但是如果我尝试将 120 写入同一个像素,我想将 120 写入它。
dest = max(dest, src)
有没有一种方法可以一次性完成,也许使用混合函数或片段着色器方法,这种方法的成本足够低,可以在 10K 的条带中以每个三角形为基础完成?
是的,您正在寻找 glBlendEquation(GL_MAX)。