OpenGL Programming Guide : The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V - Kessenich, John M., author; Sellers, Graham, author; Shreiner, Dave, author (Boston : Addison-Wesley, 2017)
This book integrates shader techniques alongside classic, function-centric approaches, and contains extensive code examples that demonstrate modern techniques. Starting with the fundamentals, its wide-ranging coverage includes drawing, color, pixels, fragments, transformations, textures, framebuffers, light and shadow, and memory techniques for advanced rendering and nongraphical applications. It also offers discussions of all shader stages, including thorough explorations of tessellation, geometric, and compute shaders.