Preface
This book is all about learning Vulkan from scratch. Vulkan is a next-generation cross-platform graphics and compute API. Despite being a successor of OpenGL API, it is a completely fresh approach to redesigning an API from the base that meets the competitive demand of consumers and works very close with the underlying GPU hardware. Vulkan is a software interface that is capable of controlling GPU hardware settings to harness the power of paralleling computing. The driver layer in Vulkan is really thin and puts more responsibilities on the shoulders of an application programmer to manage the application, its resources, memory management, synchronization, and more; this explicit nature of Vulkan makes it verbose. This book allows the beginner to learn such topics in baby steps, covering each chapter with an easy-to-follow companion example. The chapters are laid out in an incremental fashion; each chapter is built on top of the previous one, exposing the modular difference to our readers.
The Vulkan API certainly requires some level of computer graphics or computing knowledge prior to starting programming on it, as many of the concepts or terminologies are very general and directly used throughout this book.
This book is very practically oriented and prepared with an objective to allow its readers to learn Vulkan theory, concepts, and API specification, and see them in action through companion examples. There are plenty of references throughout the book that help readers to refer to the related concept, helping them to recap the fundamentals as they proceed through.