2011-06-13 32 views
6

我想使用Opengl Es來實現圖像處理代碼的gpgpu實現。我想知道我可以使用Opengl Es來達到這個目的。如果我可以比哪個版本的Opengl Es更適合這個目的(Opengl Es 1.1或2.0)。Opengl Es如何用於gpgpu實現

回答

4

OpenGL ES是一種用於嵌入式系統的圖形技術,因此它不像它的兄弟那樣強大。 OpenGL ES沒有設計考慮gpgpu處理,但是可以實現一些算法,尤其是那些處理圖像並要求每像素處理的算法。

但是,對於真正的GPGPU編程,您應該考慮OpenCL,Nvidia CUDA或AMD Stream技術。有關更多具體信息,請查看GPGPU網站http://gpgpu.org/developer

+0

謝謝先生,但如果平臺不支持opencl或cuda? – 2011-06-13 09:13:18

+2

在OpenGL(ES)上做GPGPU是可能的,這是人們在CUDA和創建之前所做的事情。它通常被稱爲傳統GPGPU。檢查這個鏈接:http://gpgpu.org/developer/legacy-gpgpu-graphics-apis – 2011-06-13 09:59:32

+0

非常感謝先生幫助我。 – 2011-06-14 04:05:35

3

對於圖像處理任務,OpenGL ES 2.0比ES 1.1更有用。儘管OES_framebuffer_object不是ES 2.0內核的一部分,但它是受到廣泛支持的擴展。該擴展使您可以渲染到紋理。

但是,請注意:許多OpenGL ES設備都由PowerVR圖形硬件供電。雖然它是一款優秀的低功耗,性能相對較高的芯片,但基於圖塊的渲染架構並不像圖像處理那麼快。

您需要做什麼取決於您打算實施的圖像處理算法。

相關問題