I'll try to keep this short and too the point.
I'm an experienced programmer, I don't have a degree or a job related to computers in any way, but I've been self teaching for close to a decade now and am pretty good at programming in general.
I decided I enjoy graphics programming and am considering trying to specialize in it and eventually have a career as a graphics programmer. All the graphics programming I've done so far has been using libraries that take all the real work out of it, I've dabbled with opengl a bit for android programming but that's the extent of my experience, aside from a few articles I read about specific rendering techniques that sparked my interest in graphics.
So given my background, i want to know what experienced graphics programmers suggest as the best route to learn graphics programming WELL and EFFICIENTLY. I was thinking a book would be a good resource because it's cheap, relatively comprehensive and cohesive, and provides a guideline for my learning journey(I just go through it chapter by chapter, instead of jumping around from tutorial to tutorial all across the internet trying to learn the topic without leaving to many gaps on the way). Other resources would be considered though if you think they fit my needs.
my main learning goals are
become proficient in c++(I don't need a beginners c++ book though, if i get a book that teaches opengl using c++ I can pick up the c++ as I go and completing the book should give me a good grasp of c++
learn to use opengl in practical situations. I want to be able to write cool tech demos, make my own shaders, and expand on the knowledge I gained in the book to implement real-world rendering techniques. Once I feel I've learned enough I plan on writing a tech demo or two to add to my portfolio, for whenever I finally feel confident enough to apply for programming jobs.
learn fundamentals of graphics programming. I think being a good graphics programmer means I need a grasp of the fundamentals, but if there is no single resource that teaches these fundamentals alongside c++ and opengl I suppose I could research all the aspects of how rendering works on my own pretty easily, as it would be fun to read about. So this isn't a major concern.
Ok this is getting to long already, please leave any suggestions you think may be helpful, and, if you have time, an explanation of why you thinkI would benefit from your suggested resources. Thanks a lot