[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...
Edit: I'd also add: I wouldn't bother learning much OpenGL/WebGL to begin with (except shader programming in GLSL, since there's no good alternative abstraction for that). If you end up liking working with 3D graphics, go back and learn some about it since it'll help you understand performance concerns better—but meanwhile, knowing it is just an optimization you don't need yet. It's true three.js is built on top of it, but the significant principles you need to use three.js effectively fall under real-time rendering, not OpenGL.
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
My advice for people interested in graphics would be to jump in and get started with a tutorial on the web and then get a book or two to learn more. My recommendations would be:
Introduction To Ray Tracing - It focuses on ray tracing, but many of the topics (vectors, matrices, shading, view transforms, etc.) are applicable regardless of the actual rendering method, and it does a good job explaining all of it.
https://www.amazon.com/Introduction-Tracing-Kaufmann-Compute...
Real Time Rendering - This also covers all the math, but focuses on rendering at a higher level and covers more ground.
https://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akeni...
Finally, Computer Graphics: Principles and Practice - This is a great general reference for more specific topics. It's like Real Time Rendering expanded to cover more topics and going into more depth. Not a beginner reference, but great to have when you need more information on something.
https://www.amazon.com/Computer-Graphics-Principles-Practice...
[1] http://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akenin...
Also, if people are looking for an even bigger list of graphics books the Real-Time rendering blog has a comprehensive list:
All wonderful texts and can tell you everything you want to know about doing 3D graphics in software. They won't help at all (generally) for GPU based graphics sadly.
[1] http://www.amazon.com/Computer-Graphics-Principles-Practice-...
[2] http://www.amazon.com/Principles-Interactive-Computer-Graphi...
[3] http://www.amazon.com/Computer-Graphics-3rd-Alan-Watt/dp/020...
[4] http://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akenin...
If you're looking for something lower level, the book you probably want is the white book - Computer Graphics: Principles and Practice. I have the 2nd edition from 1992, which is the still the standard intro graphics textbook for many CS departments. Though Amazon says there will be a 3rd edition coming out at the end of this year!
http://www.amazon.com/Computer-Graphics-Principles-Practice-...
Another highly recommended book (also recommended in another comment here) is Real-Time Rendering, but I've only used bits and pieces from this one, so I don't know how good it is for folks just starting out. Still probably one you'll want to add to your shelf if you continue on in the field.
http://www.amazon.com/Real-Time-Rendering-Tomas-MOller/dp/15...
Oh, and also also, head over to YouTube with some snacks and a drink, sit down, and watch the weekly Overgrowth game developer videos from Wolfire Games. It's both inspirational to see what other people are doing, and a great demo of concepts that you'll read about in GEA, such as animation blending: http://www.youtube.com/playlist?list=PLA17B3FAA1DA374F3&...
I like 3D Computer Graphics by Alan Watt as an introduction and overview http://www.amazon.co.uk/3D-Computer-Graphics-Alan-Watt/dp/02...
and Real-time Rendering for more advanced subjects http://www.amazon.co.uk/Real-time-Rendering-Tomas-Akenine-Mo...
The session from Assembly 'The Basics of Demo Programming' is online and may also be useful http://www.youtube.com/watch?v=TbcZyAO6K7c or have a look at The Demo Effects Collection http://demo-effects.sourceforge.net/
But it depends what platform you want to use C-64 An Introduction to Programming C-64 Demos http://www.antimon.org/code/Linus/ and http://codebase64.org/doku.php
Processing http://www.processing.org/
WebGL Browserscene: Creating demos on the Web http://www.youtube.com/watch?v=XZLqwXdXjqY
Deconstructing a browserscene demo http://www.youtube.com/watch?v=pOjWOA-iPnA
I have some more bookmarks on pinboard http://pinboard.in/u:z303/t:demoscene/
[1a, 1b, 1c] Computer Graphics, Principles and Practice Series [2] Physically Based Rendering [3] Real Time Rendering
---
[1a] https://www.amazon.com/Computer-Graphics-Principles-James-Fo... [1b] https://www.amazon.com/Computer-Graphics-Principles-Practice... [1c] https://www.amazon.com/Computer-Graphics-Principles-Practice... [2] https://www.amazon.com/Physically-Based-Rendering-Theory-Imp... [3] https://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akeni...