Here’s what I have:
- I load a texture from disk, say 256×256, say a picture of penguin
- I create another texture with same dimensions and I draw some stuff on it
I want to find distance between the two openGL textures AS FAST AS POSSIBLE (accuracy of the distance function is of LEAST concern).
Actually, they might not be textures in the first place.
I might as well compare a region of the framebuffer to the loaded texture or do some other “magic”.
How to do this super-fast?
This has little to do with OpenGL in fact. OpenGL is just a 3D rasterization “driver”.
The main idea is to get a distance/similarity algorithm, which is a tricky task. For beginning you could do a Root Mean Square Deviation algorithm. It will give you a number of how far away pixel values are.
When you implement it on CPU you could benchmark it for your needs and maybe convert to OpenCL. I don’t think loading the “penguin” to GPU just to compare it to other shapes you prepare there is a super-fast process by itself.
Try to be more specific with your next question and avoid attitude of “I have a very well microscope, how do I hit nails with it super-fast?”