I’m relatively new to OpenGL and graphics programming in general. I’ve spent the last two weeks learning both OpenGL and Metal (iOS).
I am trying to implement a custom algorithm that takes a series of pixels at a specified radius around a given point. Because I want to potentially run this algorithm over every single pixel in a 1080p image, I thought that parallelising with the GPU would be a good option.
The issue is that I need to have it running on iOS. I came across a useful iOS library called GPUImage2 that allows for a bunch of predefined functionality, but I’ve now hit a road block.
As far as I can tell, I cannot use compute shaders with iOS? Is my only option to switch to using Metal? I understand that android has support for ES 3.1, but their is no such option for iOS?
I guess my other question is; is using a compute shader even the right option here? As I said, I’m still relatively new. My idea was to split the series of points into thread groups and then have each thread iterate through the radius points and perform the computation, allowing me to compute all of the combined radii values simultaneously. Does that seem like a valid idea, or is there a better way (perhaps one that doesn’t require compute shaders)?
Any help or advice would be greatly appreciated.