Important
Please refer to the glman directory if you would like to try out the shaders.
The purpose of this shader is to apply magnification, whirl, and mosaic effects to an image within a specified circular region, allowing for dynamic manipulation of the image's appearance through adjustable parameters.
For Project 5, I started with a simple vertex and fragment shader, very similar to the one provided for the background in Project 4. Once I verified that the image loaded, I started working on separating the ‘lens’ logic from the rest of the background. I eventually got a grey circle in the center of the background, so I knew my code was working. I started implementing the zoom and swirl effects from there since they were a little simpler. Once I got those two working, I was having trouble getting the mosaic effect to work, but then I realized I was using the same variable twice when I should have been using one with a similar name.

