OpenGL ES如何用于GPGPU实现

6

我希望使用OpenGL ES来实现图像处理代码的GPGPU。我想知道是否可以使用OpenGL ES来完成此任务。如果可以,哪个版本的OpenGL ES更适合此目的(OpenGL ES 1.1还是2.0)。

2个回答

4
OpenGL ES是一种嵌入式系统的图形技术,因此不像它的大兄弟那样强大。OpenGL ES并非为进行通用计算处理而设计,但某些算法,特别是那些在图像上工作且需要每像素处理的算法可以实现。
然而,对于真正的GPGPU编程,您应该考虑使用OpenCL、Nvidia CUDA或AMD Stream技术。有关更具体的信息,请查看GPGPU网站http://gpgpu.org/developer

1
谢谢您,但如果平台不支持OpenCL或CUDA呢? - Dr. Arslan
3
在CUDA等技术出现之前,人们可以在OpenGL(ES)上进行GPGPU。这通常被称为传统的GPGPU。请查看此链接:http://gpgpu.org/developer/legacy-gpgpu-graphics-apis - Roy T.
1
有人可以解释一下为什么在回答给出50天后还会有人点踩吗? - Roy T.

3

OpenGL ES 2.0比ES 1.1更适合图像处理任务。虽然OES_framebuffer_object不是ES 2.0核心的一部分,但它是一个广泛支持的扩展。这个扩展使你能够渲染到纹理。

但是,请注意:许多OpenGL ES设备由PowerVR图形硬件驱动。虽然它是一个功耗低、性能相对较高的芯片,但其基于瓷砖的渲染架构却不太适用于图像处理。

你需要做什么将取决于你打算实现的图像处理算法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接