Implement next-generation 3D graphics, get familiar with real-time ray tracing techniques, and leverage advanced Vulkan features by industry experts
Key Features
- Develop high performance rendering techniques in Vulkan
- Automate some of the more tedious aspects (i.e. pipeline layouts and resource barriers) when using Vulkan
- Understand how to take advantage of Mesh shaders and Ray tracing in Vulkan
Book Description
Vulkan is now an established and flexible multi platform graphics API. It has been adopted in many industries, including game development, medical imaging, movie productions, and media playback.
Learning Vulkan is a foundational step to understanding how a modern graphics API works, both on desktop and mobile.
In Mastering Graphics Programming with Vulkan, you will begin by developing the foundations of a rendering framework. You will learn how to leverage advanced Vulkan features to write a modern rendering engine. You will understand how to automate resource binding and dependencies. You will then take advantage of GPU driven rendering to scale the size of your scenes and finally, you will get familiar with ray tracing techniques that will improve the visual quality of your rendered image.
By the end of this book, you will have a thorough understanding of the inner workings of a modern rendering engine and the graphics techniques employed to achieve state of the art results. The framework developed in this book will be the starting point for all your future experiments.
What you will learn
- Understand resources management and modern bindless techniques
- Understand how a frame graph works and what advantages it provides
- Get a grip on how GPU driven rendering works
- Learn how to render many lights efficiently
- Discover how to integrate variable rate shading
- Understand the benefits and limitations of Temporal Anti-Aliasing
- Understand how to leverage Ray-Tracing to improve render quality
Who This Book Is For
This book is for professional or hobbyist graphics and game developers who would like to gain more in-depth knowledge about how to write a modern and performant rendering engine in Vulkan.
Users should be already familiar with basic concepts of graphics programming (that is, matrices, vectors, etc.) and have basic knowledge of Vulkan.
Table of Contents
- Introducing the Raptor Engine
- Improving Resources Management
- Unlocking Multi-Threading
- Render graph: from theory to implementation
- Variable rate shading - improving frame render times
- Next generation geometry rendering: mesh shaders and GPU culling
- Rendering many lights with clustered deferred rendering
- Rendering many lights with clustered deferred rendering
- Lights and shadows
- Implementing particle effects on the GPU
- Implementing volumetric effects
- Improving frame quality with temporal anti-aliasing
- Revisiting shadows with ray tracing
- Improving global illumination with ray tracing
- Improving reflections with ray tracing