What should I learn

Hello everyone!

This is my first post here, so I would like to introduce myself. My name is Peter. I live in Poland. Currently I am CS student in Wroclaw University, but it is not important. From long time my very big dream is to become 3D graphics programmer. In the future I would like to work as 3D engine graphics programmer (I really like to know how the things work). Over 3 years I learn how to program in C++, but I know one thing: I have to learn Modern OpenGL, but really I don’t know how to do that. For know I’ve written simple rotation triangle (without Model-View Matrix). I used SFML, GLEW and GLM so I know how to configure my IDE for doing glThings. My question is, what should I learn? I really love math so linear algebra does’t suffer me.
Should I learn 3d graphics theory or plain data structures coded in C++? Please if you can, give me a list of books or net-resources for learning stuff, because for now I don’t know even where to start. I would be gratefull for any help.

P.S: Sorry for my English.

This is what got me started: