Vulkan Programming Guide The Official Guide to Learning Vulkan

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2016-10-31
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99 Save up to $7.20
  • Buy New
    Add to Cart Free Shipping


Supplemental Materials

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.


Coverage includes

  • Extensively tested code examples to demonstrate Vulkan’s capabilities and show how it differs from OpenGL
  • Expert guidance on getting started and working with Vulkan’s new memory system
  • Thorough discussion of queues, commands, moving data, and presentation
  • Full explanations of the SPIR-V binary shading language and compute/graphics pipelines
  • Detailed discussions of drawing commands, geometry and fragment processing, synchronization primitives, and reading Vulkan data into applications
  • A complete case study application: deferred rendering using complex multi-pass architecture and multiple processing queues
  • Appendixes presenting Vulkan functions and SPIR-V opcodes, as well as a complete Vulkan glossary
Example code can be found here: Example code can be found here: https://github.com/vulkanprogrammingguide/examples

Author Biography

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.

Table of Contents

1. Introduction to Vulkan
2. Drawing with Vulkan
3. Execution Model
4. Threading and Synchronization
5. Memory
6. Objects, State, and Pipelines
7. Writing and Specializing Shaders
8. Using SPIR-V
9. Color, Pixels, and Framebuffers
10. Viewing Transformations and Clipping
11. Textures
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


Rewards Program

Write a Review