Book Image

Vulkan Cookbook

By : Pawel Lapinski
Book Image

Vulkan Cookbook

By: Pawel Lapinski

Overview of this book

Vulkan is the next generation graphics API released by the Khronos group. It is expected to be the successor to OpenGL and OpenGL ES, which it shares some similarities with such as its cross-platform capabilities, programmed pipeline stages, or nomenclature. Vulkan is a low-level API that gives developers much more control over the hardware, but also adds new responsibilities such as explicit memory and resources management. With it, though, Vulkan is expected to be much faster. This book is your guide to understanding Vulkan through a series of recipes. We start off by teaching you how to create instances in Vulkan and choose the device on which operations will be performed. You will then explore more complex topics such as command buffers, resources and memory management, pipelines, GLSL shaders, render passes, and more. Gradually, the book moves on to teach you advanced rendering techniques, how to draw 3D scenes, and how to improve the performance of your applications. By the end of the book, you will be familiar with the latest advanced techniques implemented with the Vulkan API, which can be used on a wide range of platforms.
Table of Contents (13 chapters)

Introduction

Creating 3D applications, such as games, benchmarks or CAD tools, usually requires, from a rendering perspective, the preparation of various resources, including meshes or textures, drawing multiple objects on the scene, and implementing algorithms for object transformations, lighting calculations, and image processing. They all can be developed in any way we want, in a way that is most suitable for our purpose. But there are also many useful techniques that are commonly used in the 3D graphics industry. Descriptions for these can be found in books and tutorials with examples implemented using various 3D graphics APIs.

Vulkan is still a relatively new graphics API, so there aren't too many resources that present common rendering algorithms implemented with the Vulkan API. In this chapter, we will learn how to use Vulkan to prepare various graphics techniques. We will learn about important concepts...