The problem is when I draw a circle, the shader does not rise at all(I'm creating a smoke shader), and cannot seem to get the alpha of pixels from outside the circle
The texture_coords of a circle or rectangle or line are always vec2(0,0), because the texture is just one white pixel (or at least it behaves as if it is). I can't look into your shader in enough detail now but maybe that info helps.