I think it was this book (https://www.amazon.com/Flights-Fantasy-Programming-Video-Gam...) that taught me 3D programming better than anything else. The code was readable, the maths was well explained and it included sections on how to do things without those newfangled maths co-processors. I'd love to buy a copy now just to see if it really was a good book or if it led me astray.
https://www.amazon.com/Flights-Fantasy-Programming-Video-Gam...
The one book that really made everything come together was "Flights of Fantasy" https://www.amazon.com/Flights-Fantasy-Programming-Video-Gam...
This covered how to write a simple flight simulator in C++ on the hardware of the time. It also gave a really good practical primer on the linear algebra needed for 3d graphics. Inline assembly and a bunch of fun algorithms for quick and dirty approximate math were there too.
That book, along with the free time and obsession that a 14 year old can muster, was probably what started me on my (in my opinion) successful hacking and optimization trajectory.
It's a bit dated now that most CPU's have amenities like built in floating point math but not too long ago I was doing embedded audio synthesis on an 8bit AVR micro and Bresenham's line drawing algorithm was just what I needed to efficiently generate saw waves.