Interactive computer graphics : a top-down approach with shader-based opengl - Angel, Edward; Shreiner, Dave (Pearson, 2012)