How does blender work? I am new to 3D modelling and blender, I come from a programming background, I am fascinated by the kind of things blender can do. The more I use blender the more questions I have and the more confused I am, I am always thinking of how does blender do it? I am really interested in knowing how blender works internally but I understand that needs a lot of background in 3D modelling/Geometrical algorithms. Is there any resource that you would suggest that will help me make sense of what is happening in blender or 3D modelling? ex: How is a image texture mapped? How is occlusion handled? etc.
I think the main thing you will want to learn first are the basics of a computer graphics development. This generally means learning the basics of OpenGL programming. You will also need to go over some basic trigonometry and linear algebra for this. Once you understand these basics it should be a lot easier to just google for individual topics and find explanations. 

I learnt most of this at my university introduction to computer graphics course, so maybe you could try looking at an online course covering these topics. I noticed a couple of online courses that look like they cover similar ground, although I haven't tried them myself, so I don't know the teaching quality:
https://www.coursera.org/course/webgl
https://www.edx.org/course/computer-graphics-uc-san-diegox-cse167x-1

When you get more familiar with the basics, you can try looking at blender's source code as well. I wouldn't recommend that for a complete beginner though, as it can be quite hard to follow in places.