Interactive computer graphics a top-down approach with shader-based openGL - Angel, Edward (Pearson, 2012)