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