What is included with this book?
The Definitive Vulkan™ Developer’s Guide and Reference: Master the Next-Generation Specification for Cross-Platform Graphics
The next generation of the OpenGL specification, Vulkan, has been redesigned from the ground up, giving applications direct control over GPU acceleration for unprecedented performance and predictability. Vulkan™ Programming Guide is the essential, authoritative reference to this new standard for experienced graphics programmers in all Vulkan environments.
Vulkan API lead Graham Sellers (with contributions from language lead John Kessenich) presents example-rich introductions to the portable Vulkan API and the new SPIR-V shading language. The author introduces Vulkan, its goals, and the key concepts framing its API, and presents a complex rendering system that demonstrates both Vulkan’s uniqueness and its exceptional power.
You’ll find authoritative coverage of topics ranging from drawing to memory, and threading to compute shaders. The author especially shows how to handle tasks such as synchronization, scheduling, and memory management that are now the developer’s responsibility.
Vulkan™ Programming Guide introduces powerful 3D development techniques for fields ranging from video games to medical imaging, and state-of-the-art approaches to solving challenging scientific compute problems. Whether you’re upgrading from OpenGL or moving to open-standard graphics APIs for the first time, this guide will help you get the results and performance you’re looking for.
Graham Sellers is the API lead on the Vulkan spec. He is AMD Software Architect and Engineering Fellow, represents AMD at the OpenGL ARB. He has actively contributed to the core Vulkan and OpenGL specs and extensions, and holds several graphics and image processing patents.
John Kessenich is the language lead on the Vulkan spec. He is Senior Compiler Architect at LunarG Inc., has been active in OpenGL, GLSL, Vulkan, and SPIR-V development in the OpenGL ARB and in Khronos since 1999. He created the SPIR-V intermediate language and is its specification editor. He is also the GLSL specification editor, and active in creating shader compiler tools and translators for increased portability of these standards. John is a coauthor of the OpenGL(R) Programming Guide.
1. Introduction to Vulkan
2. Drawing with Vulkan
3. Execution Model
4. Threading and Synchronization
6. Objects, State, and Pipelines
7. Writing and Specializing Shaders
8. Using SPIR-V
9. Color, Pixels, and Framebuffers
10. Viewing Transformations and Clipping
12. Light and Shadow
13. Procedural Texturing
14. Tessellation Shaders
15. Geometry Shaders
16. Compute Shaders
A. Framework Reference
B. Execution Environments
C. GLSL Built-in Variables and Functions
D. SPIR-V Instruction Reference
E. Vulkan, Window Systems, and Language Bindings
F. Floating-Point Formats for Textures, Framebuffers, and Renderbuffers
G. Debugging and Layers
H. Buffer Object Layouts