I’m a noob in GPU programming with Rust. Currently learning it.
I have the following task, Can someone please suggest if I’m taking right Path/Approach?
Task: I’m supposed to edit images of high resolution by modifying the R,G,B values of each pixel. I’ll be having 3000 * 4000 resolution image = 12000000 pixels data.
Probably I’ll use even higher resolution pictures in future for processing.
My Plan: I need to do computation for each pixel, total 12million pixels. I’m planning to use compute shaders parallelly where I can modify the [R,G,B] values of each pixel. I’m assuming I can run at least 300 parallel computation shaders(depending on capacity of my GPU card) which can drastically speed up the process. I want to complete any editing process of any(size) image within 0.5sec, for example changing contrast of image should be done within 200-500milli seconds.
I want to use WGPU as it has support for multiple backends and seems well developed compared to other GPU programming crates in Rust.
Is this the right approach? Can someone please suggest any better ideas? Thanks in advance.