Introduction To 3d Game Programming With Directx 9.0c by Frank D. Luna