What exactly do you need to know for the proper level of understanding and conscious writing of shaders (both simple and complex)? Or are most shaders written using already known algorithms? If so, then - where you can read about them.
I start with this book, but I would like to have more than one source, ideally, a book like 'thinking in glsl' :)
Any tips and advice on learning a subject are welcome.