Learning Vulkan
eBook - ePub

Learning Vulkan

Parminder Singh

  1. 466 pagine
  2. English
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

Learning Vulkan

Parminder Singh

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

Discover how to build impressive 3D graphics with the next-generation graphics API—Vulkan

About This Book

  • Get started with the Vulkan API and its programming techniques using the easy-to-follow examples to create stunning 3D graphics
  • Understand memory management in Vulkan and implement image and buffer resources
  • Get hands-on with the drawing process and synchronization, and render a 3D graphics scene with the Vulkan graphics pipeline

Who This Book Is For

This book is ideal for graphic programmers who want to get up and running with Vulkan. It's also great for programmers who have experience with OpenGL and other graphic APIs who want to take advantage of next generation APIs. A good knowledge of C/C++ is expected.

What You Will Learn

  • Learn fundamentals of Vulkan programing model to harness the power of modern GPU devices.
  • Implement device, command buffer and queues to get connected with the physical hardware.
  • Explore various validation layers and learn how to use it for debugging Vulkan application.
  • Get a grip on memory management to control host and device memory operations.
  • Understand and implement buffer and image resource types in Vulkan.
  • Define drawing operations in the Render pass and implement graphics pipeline.
  • Manage GLSL shader using SPIR-V and update the shader resources with descriptor sets and push constants.
  • Learn the drawing process, manage resources with synchronization objects and render 3D scene output on screen with Swapchain.
  • Bring realism to your rendered 3D scene with textures, and implement linear and optimal textures

In Detail

Vulkan, the next generation graphics and compute API, is the latest offering by Khronos. This API is the successor of OpenGL and unlike OpenGL, it offers great flexibility and high performance capabilities to control modern GPU devices. With this book, you'll get great insights into the workings of Vulkan and how you can make stunning graphics run with minimum hardware requirements.

We begin with a brief introduction to the Vulkan system and show you its distinct features with the successor to the OpenGL API. First, you will see how to establish a connection with hardware devices to query the available queues, memory types, and capabilities offered. Vulkan is verbose, so before diving deep into programing, you'll get to grips with debugging techniques so even first-timers can overcome error traps using Vulkan's layer and extension features.

You'll get a grip on command buffers and acquire the knowledge to record various operation commands into command buffer and submit it to a proper queue for GPU processing. We'll take a detailed look at memory management and demonstrate the use of buffer and image resources to create drawing textures and image views for the presentation engine and vertex buffers to store geometry information.

You'll get a brief overview of SPIR-V, the new way to manage shaders, and you'll define the drawing operations as a single unit of work in the Render pass with the help of attachments and subpasses. You'll also create frame buffers and build a solid graphics pipeline, as well as making use of the synchronizing mechanism to manage GPU and CPU hand-shaking.

By the end, you'll know everything you need to know to get your hands dirty with the coolest Graphics API on the block.

Style and approach

This book takes a practical approach to guide you through the Vulkan API, and you will get to build an application throughout the course of the book. Since you are expected to be familiar with C/C++, there is not much hand-holding throughout the course of the book.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
Learning Vulkan è disponibile online in formato PDF/ePub?
Sì, puoi accedere a Learning Vulkan di Parminder Singh in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatik e Computergraphiken. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2016
ISBN
9781786469809
Edizione
1
Argomento
Informatik

Learning Vulkan


Learning Vulkan

Copyright © 2016 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: December 2016
Production reference: 1121216
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-980-9
www.packtpub.com

Credits

Author
Parminder Singh
Copy Editor
Gladson Monteiro
Reviewer
Chris Forbes
Project Coordinator
Ritika Manoj
Commissioning Editor
Ashwin Nair
Proofreader
Safis Editing
Acquisition Editors
Smeet Thakkar
Aaron Lazar
Indexer
Rekha Nair
Content Development Editor
Sachin Karnani
Production Coordinator
Aparna Bhagat
Technical Editor
Murtaza Tinwala
Graphics
Abhinash Sahu

About the Author

Parminder Singh is a computation graphics engineer with Blackmagic Design, Singapore. He has been working and developing graphic applications in the fields of network simulations, geo-modeling, navigation, automotive, infotainment systems, image processing, and post-production for the past decade. His research interests include GPU programming for scalable graphics and compute applications, porting, and performance optimization techniques.
He is a Vulkan, Metal and OpenGL ES trainer and has also authored OpenGL ES 3.0 Cookbook, Packt. His hobbies include traveling, light cooking, and spending quality time with his baby girl.
Feel free to connect Parminder at https://www.linkedin.com/in/parmindersingh18 or you can reach him at http://openglescookbook.com.

Acknowledgments

I dedicate this to my sweet baby girl, Raskeerat, who was born at the same time as we started this project. With a little baby onboard, it's challenging to write a book; I am grateful to my beloved wife Gurpreet Kaur and my family for helping me deliver this project to the community.
I extend my gratitude to Mr. Ulrich Kabatek and the entire graphics team of Continental Automotive; every member of the team had something to offer me to scale my vision of graphics. I am grateful to Blackmagic Design, who helped me extend my horizon to take GPU programming to a whole new level. I express my regards to Mohit Sindhwani and the whole of Quantum Invention's team. It was a great pleasure to work for them and also was a wonderful learning experience.
I am highly indebted to Chris Forbes from Google; his expertise in the graphics domain has raised the bar of this title. I am highly impressed with his reviews and the quality of work he delivered. Chris reviewed this title inch-by-inch and helped us not only to improve the contents but also our understanding of the concepts with his detailed explanation.
Last but not the least, I am thankful to the entire division of Packt, especially Sachin Karnani, who constantly remained involved during the production of this title. Murtaza Tinwala, who brilliantly exhibited his content management and technical skills during the final stages. I'm really happy to have them work with me on this book.

About the Reviewer

Chris Forbes works as a software developer for Google, working on Vulkan validation support and other ecosystem components. Previously he has been involved in implementing OpenGL 3 and 4 support in open source graphics drivers for Linux (www.mesa3d.org), as well as rebuilding classic strategy games to run on modern systems (www.openra.net).

www.PacktPub.com

For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
www.PacktPub.com
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.

Why subscribe?

  • Fully searchable across every book published by Packt
  • Copy and paste, print, and bookmark content
  • On demand and accessible via a web browser

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...

Indice dei contenuti

Stili delle citazioni per Learning Vulkan

APA 6 Citation

Singh, P. (2016). Learning Vulkan (1st ed.). Packt Publishing. Retrieved from https://www.perlego.com/book/118338/learning-vulkan-pdf (Original work published 2016)

Chicago Citation

Singh, Parminder. (2016) 2016. Learning Vulkan. 1st ed. Packt Publishing. https://www.perlego.com/book/118338/learning-vulkan-pdf.

Harvard Citation

Singh, P. (2016) Learning Vulkan. 1st edn. Packt Publishing. Available at: https://www.perlego.com/book/118338/learning-vulkan-pdf (Accessed: 14 October 2022).

MLA 7 Citation

Singh, Parminder. Learning Vulkan. 1st ed. Packt Publishing, 2016. Web. 14 Oct. 2022.