How can Opengl Es be use for gpgpu implementation

2019-04-07 14:29发布

问题:

I want to use Opengl Es for gpgpu implementation of an image processing code. I want to know can I use Opengl Es for this purpose. If I can than which version of Opengl Es will be more appropriate for this purpose (Opengl Es 1.1 or 2.0).

回答1:

OpenGL ES is a graphics technology for embedded systems, and therefor not quite as powerful as it's bigger brother. OpenGL ES was not designed with doing gpgpu processing in mind, but some algorithms, especially those that work on images and require per-pixel processing can be implemented.

However for real GPGPU programming you should consider OpenCL, Nvidia CUDA or AMD Stream techniques. For more specific information check the GPGPU website http://gpgpu.org/developer



回答2:

OpenGL ES 2.0 is much more likely to be useful for image processing tasks than ES 1.1. Though OES_framebuffer_object is not part of ES 2.0 core, it is a widely supported extension. This extension gives you the ability to render to textures.

However, be warned: many OpenGL ES devices are powered by PowerVR graphics hardware. While it is a great low-power, relatively high-performance chip, the tile-based rendering architecture is not as fast for image processing.

Exactly what you will need to do will depend on the image processing algorithm you intend to implement.