Novel OpenGL Pixel Shader Dewarping

by monsecchrison 10/9/2025, 6:30 PMwith 7 comments

by zamadatixon 10/9/2025, 7:32 PM

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 :).

by mmozeikoon 10/9/2025, 8:08 PM

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.

by ricardobeaton 10/9/2025, 7:32 PM

Results look great. Would be nice to have a performance comparison in numbers against other methods.

by aapplebyon 10/9/2025, 7:48 PM

Not "novel", I was doing exactly this 10 years ago for a videoconferencing device.