Black Art of 3D Game Programming: Writing Your Own High-Speed 3D Polygon Video Games in C