我正在将一些 OpenGL ES 2.0 代码转换为在不支持 OpenGL ES 2.0 但仅支持标准 OpenGL 的标准桌面硬件上运行。
该代码使用扩展名GL_EXT_shader_framebuffer_fetch
(以前称为GL_APPLE_shader_framebuffer_fetch
),它允许片段着色器通过以下方式读取“上一个”片段颜色:
mediump vec4 lastFragColor = gl_LastFragData[0];
这可用于进行自定义(即可编程)混合。
在 OpenGL 中是否有一个等价物?
如果没有,我将不得不渲染到帧缓冲区纹理并将此纹理附加到正在渲染到它的相同片段着色器。