Solved. Turns out the fragment shader's uniform input texture's 4th chanel was zero by default, it made the image transperent.