0
A
回答
2
片段着色器以不固定的顺序应用,对全局状态没有副作用。所以问题是你认为是以前的像素。
如果您想要编写一个涉及从左到右从上到下的图像扫描的算法,那么您需要明确地对所需的所有源像素进行采样输出。如果它是某个像素加上该像素的左边三个像素,那么您需要明确地将该像素加上左边的三个像素。示例算法将是Floyd-Steinberg抖动。
如果你在谈论以前的帧,那么你可以通过乒乓缓冲来实现这一点,从而使用渲染到纹理并在一个目标和另一个目标之间来回切换,这样就可以将前一帧作为输入纹理。一个示例应用程序可能是音乐可视化人员通常会做的事情,包括iTunes中的一种。
0
OpenGL ES 2.0规范没有提供访问先前像素值的方法。
但是,一些GPU具有供应商特定的扩展,允许访问帧缓冲区的当前片段值。我知道的是NV_shader_framebuffer_fetch
(苹果有类似的扩展名APPLE_shader_framebuffer_fetch
)。在Tegra 2上,您可以从只读gl_LastFragColor
变量中获取GLSL中以前的片段值。此功能旨在用于片段着色器中的自定义混合。但它仅在nVidia Tegra GPU上可用。
此扩展的更多信息在这里:https://developer.nvidia.com/sites/default/files/akamai/mobile/files/tegra_gles2_development.pdf
相关问题
- 1. 通过片段/像素着色器改变特定的像素颜色?(opengl)
- 2. OpenGL的每像素着色与GLSL着色器
- 3. OpenGL着色过滤器
- 4. 通过HLSL中的像素着色器传递颜色
- 5. OpenGL着色器?
- 6. 如何向OpenGL着色器发送递归数据结构?
- 7. OpenGL着色器。传递float数组
- 8. OpenGL VBO着色器
- 9. iOS CGImageRef像素着色器
- 10. 像素弯曲器4色着色器
- 11. OpenGL ES着色器轮廓2D图像
- 12. 使用OpenGL着色器倾斜图像
- 13. OpenGL着色器没有链接着色器程序
- 14. 从HLSL顶点着色器传递数组到像素着色器
- 15. Directx9中的像素着色器性能不等于Opengl ES2.0
- 16. OpenGL程序/着色器未初始化
- 17. DirectX 11着色器错误。像素着色器只接收NaN
- 18. OpenGL着色器发布
- 19. 的OpenGL着色器输入
- 20. Qt/OpenGL着色器问题
- 21. OpenGL ES 1.x着色器
- 22. OpenGL GLSL着色器统计
- 23. 着色器和opengl转换
- 24. OpenGL着色器和常量
- 25. OpenGL着色器问题
- 26. OpenGL ES和OpenGL兼容着色器
- 27. 无法在片段着色器中传递统一颜色opengl
- 28. OpenGL着色器:不插值颜色
- 29. opengl着色器使颜色“消失”
- 30. OpenGL着色器生成颜色
你的问题很混乱。 “处理图片”是什么意思?你到底想做什么? –