GPU Accelerated Image Editing / Techniques - How to?

I’ve been hearing allot about GPGPU processing, and how it ties into Image Editing, and 3D modelling. So I figured I should try it out for my own. Do any of you guys know any resources I could learn from and some software techniques for doing this? ( I understand allot of the best techniques were done by high-budget organizations hiring expensive engineers and such, but I just want the basics :wink: ). Things like large-scale bitmap processing and such, seeing as photoshop & paint.net are making it look easy.

Thanks in advance!

Android has built in support for this with renderscript…

http://developer.android.com/guide/topics/renderscript/index.html

I’d imagine RenderScript is like a some-what high level OpenCL programming language. It seems interesting, I’ll look into it later. Thanks!

I have a couple image filter examples using OpenGL ES 3.0 and compute shaders (OpenGL ES 3.1) for Android:

You’ll want to check out GPUImage for iOS for a repository of OpenGL ES 2.0 image operations.

All the shader code is just sitting there to do practically everything Photoshop does. In my efforts I took a good chunk of that shader code converted it to OpenGL ES 3.0+ along with improving it and am doing some fun stuff with photos / videos.

I don’t really recommend Renderscript since it’s Android only and Google has turned it’s back on open standards like OpenCL which is far superior for GPGPU; though now we have compute shaders with OpenGL ES 3.1. You can accomplish everything Renderscript can do and more with OpenGL ES 3.1.

Image processing is directly related to GLSL fragment shaders, so no need for actual GPGPU techniques; just straight up standard OpenGL GLSL.

There are “script intrinsics” though with Renderscript for a handful of image operations. It’s useful if you want to integrate basic image processing with the Android 2D API / blur a Bitmap and are too lazy to learn OpenGL 3.0+. I still recommend it because once you learn OpenGL it works across platforms.