[0] https://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akeni... [1] https://www.amazon.com/Math-Primer-Graphics-Game-Development...
I also read a ton of presentations and papers. Highly recommend the famous PBR SIGGRAPH course notes [0], especially the intro to light & physics by Naty Hoffman. GPU-Driven Rendering Pipelines [1] is another recent goodie.
[0] http://blog.selfshadow.com/publications/s2013-shading-course... [1] http://advances.realtimerendering.com/s2015/aaltonenhaar_sig...
GPU Gems, Shader X and GPU Pro are good series for learning specific graphics programming techniques.
https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01....
http://www.realtimerendering.com/resources/shaderx/
For a general game engine overview: Game Engine Architecture by Jason Gregory (Naughty Dog)
Game Programming Patterns: https://www.amazon.co.uk/Game-Programming-Patterns-Robert-Ny...
Realtime rendering overview: https://www.amazon.co.uk/Real-Time-Rendering-Third-Tomas-Ake...
Related math: https://www.amazon.co.uk/Math-Primer-Graphics-Game-Developme...
Other recommendations:
http://mrelusive.com/books/books.html
http://fabiensanglard.net/Computer_Graphics_Principles_and_P...
It's fun to explore the source though, and NVIDIA has some cool experimental branches of the engine with their stuff integrated. https://github.com/NvPhysX/UnrealEngine
If you're just getting started and want a low-impact way to prototype things try WebGL! (I'm an unbiased WebGL contributor and user).
OpenGL seems to be the way to go on most platforms; DirectX is probably easier on Windows. There are libraries that take care of the platform-specific code for you if you don't want to write your own that are quite good: SDL2, glfw, etc.
hth
https://www.amazon.com/Math-Primer-Graphics-Game-Development...