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. VulkanTM 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.
VulkanTM 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.
Coverage includes
Graham Sellers, API lead on the Vulkan specification, is AMD Software Architect and Engineering Fellow. Sellers represents AMD at the OpenGL ARB, has actively contributed to the core Vulkan and OpenGL specs and extensions, and holds several graphics and image processing patents. He coauthored OpenGL® Programming Guide, Ninth Edition.
Contributing author John Kessenich is language lead on the Vulkan specification and is Senior Compiler Architect at LunarG Inc. He been active in OpenGL, GLSL, Vulkan, and SPIR-V development in the OpenGL ARB and in Khronos since 1999. Kessenich created SPIR-V and is its specification editor. As GLSL specification editor, he creates shader compiler tools and translators for improving portability.