From what I understand from code those unwarps are just doing matrix multiply to get unwraped pixel location? In this case doing these operations directly in fragment shader instead of texture lookup will be faster. Memory bandwidth is not free. But simple ALU like this (just couple FMA's) can easily hide in shadow of texture sampling that happens afterwards. So simply upload those undistortion matrices (mat1 & mat2) as uniforms and do matrix multiply in shader for adjusting texcoords.
You'll probably catch a bit of flak for pitching this as novel, but I really like how you've packaged it into all into a purpose built application. Those kinds of apps are the most fun to tinker with and feel rare these days :).
5 comments