Hello, I've been interested in game development since being a kid. Back then I played around with game maker, construct, rpg maker hence even tried to learn UDK when it was new. I've also spent some time trying to learn programming, C, Python, Scheme and probably more.
Now a few years later without touching the realm of game development I've gotten interested again. I have played around with pygame, libgdx and godot. Though I don't have any game in mind, I am more interested how games themselves work, how programmers optimize their code and apply high level abstractions. So what I wanna learn is C++ and OpenGL. Not just the surface, but learning C++ completely (well, I've heard that is impossible but enough so I dare put it on my resume in the future), OOP design and practices, the math required for game programming and of course how to use OpenGL.
So what I am asking is essentially, any recommended books and resources for learning this? What order should I learn the different topics required? Which other topics are essential to learn?
Even if I have used OOP langauges and frameworks, I have to say that I know no OOP at all. I've also never ever done any manual memory management. To make you understand my current programming knowledge I can say that the only programs I've finished is a Lisp interpreter and a Pong game (where I used a high-level 2D api) so I am very much a beginner, but a book for complete beginners might be a bit too slow for me.