The Modern Vulkan Cookbook A Practical Guide to 3D Graphics and Advanced Real-Time Rendering Techniques in Vulkan

By the end of this book, you'll be well versed in how to use Vulkan to write graphics applications and how graphics algorithms are implemented using Vulkan. What you will learn Set up your environment for Vulkan development Understand how to draw graphics primitives using Vulkan Use state-of-th...

Full description

Bibliographic Details
Main Authors: Kakkar, Preetish, Maurer, Mauricio (Author)
Format: eBook
Language:English
Published: Birmingham, UK Packt Publishing Ltd. 2024
Edition:1st edition
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • Getting ready
  • How to do it...
  • Enumerating available instance extensions
  • Getting ready
  • How to do it...
  • Initializing the Vulkan instance
  • Getting ready
  • How to do it...
  • Creating a surface
  • Getting ready
  • How to do it...
  • Enumerating Vulkan physical devices
  • Getting ready
  • How to do it...
  • Caching the properties of queue families
  • Getting ready
  • How to do it...
  • Enumerating physical device extensions
  • Getting ready
  • How to do it...
  • Reserving queue families
  • Getting ready
  • How to do it...
  • Creating a Vulkan logical device
  • Getting ready
  • How to do it..
  • How to do it...
  • Creating a graphics pipeline
  • Getting ready
  • How to do it...
  • Swapchain
  • Getting ready
  • How to do it...
  • Understanding synchronization in the swapchain
  • fences and semaphores
  • Getting ready
  • How to do it...
  • Populating submission information for presentation
  • Getting ready
  • How to do it...
  • Presenting images
  • Getting ready
  • How to do it...
  • Rendering a triangle
  • Getting ready
  • How to do it...
  • Chapter 2: Working with Modern Vulkan
  • Technical requirements
  • Understanding Vulkan's memory model
  • Getting ready
  • How to do it..
  • Cover
  • Title Page
  • Copyright and Credits
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Vulkan Core Concepts
  • Technical requirements
  • Getting to know the Vulkan API
  • Calling API functions
  • Getting ready
  • How to do it...
  • Learning about Vulkan objects
  • Getting ready
  • How to do it...
  • Using Volk to load Vulkan functions and extensions
  • Getting ready
  • How to do it...
  • Using Vulkan extensions correctly
  • Getting ready
  • How to do it...
  • Using the Validation Layer for error checking
  • Getting ready
  • How to do it...
  • Enumerating available instance layers
  • Instantiating the VMA library
  • How to do it...
  • Creating buffers
  • Getting ready
  • How to do it...
  • Uploading data to buffers
  • Getting ready
  • How to do it...
  • Creating a staging buffer
  • Getting ready
  • How to do it...
  • How to avoid data races using ring buffers
  • Getting ready
  • How to do it...
  • Setting up pipeline barriers
  • Getting ready
  • How to do it...
  • Creating images (textures)
  • Getting ready
  • How to do it...
  • Creating an image view
  • Getting ready
  • How to do it...
  • Creating a sampler
  • Getting ready
  • How to do it...
  • Providing shader data
  • Getting ready
  • Retrieving the queue object handle
  • Getting ready
  • How to do it...
  • Creating a command pool
  • Getting ready
  • How to do it...
  • Allocating, recording, and submitting commands
  • Getting ready
  • How to do it...
  • Reusing command buffers
  • Getting ready
  • How to do it...
  • Creating render passes
  • Getting ready
  • How to do it...
  • Creating framebuffers
  • Getting ready
  • How to do it...
  • Creating image views
  • Getting ready
  • How to do it...
  • The Vulkan graphics pipeline
  • How to do it...
  • Compiling shaders to SPIR-V
  • Getting ready
  • How to do it...
  • Dynamic states
  • Getting ready