Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Yeah there's a hard limit to how much a shader can render there due to the inherent limits of a floating-point number. When you start to see the pixels / how the more you zoom in the less detail you get, that's because the float is approaching 0. The code to get the pixel coordinates in the shader is:

float xx = (gl_FragCoord.x / u_fZoom) + u_fPan.x;

float yy = (gl_FragCoord.y / u_fZoom) + u_fPan.y;

So the bigger zoom is, the closer the float is reduced to 0 and eventually you lose information as the variable can only hold so many bytes.

All equivalent fractal shaders do this. See here how this Mandelbrot Set shader on Shadertoy (which houses much better / smarter shader programmers than I) zooms in, and you can start to see the set become pixelated, so instead of zooming in all the way they turn around and zoom back out.

https://www.shadertoy.com/view/4df3Rn

I just give you full control to zoom in-or-out as much as you like. But also check out the zoom number, as you have to zoom-in a LOT to get to the pixels, I just made the scroll wheel double the zoom value every scroll tick, so you get to really big numbers really fast like Sissa ibn Dahir.