Proudly - Shop now
Add Prime to get Fast, Free delivery
Amazon prime logo
$60.99
FREE Returns
FREE delivery December 27 - 28
Or fastest delivery Thursday, December 26
Arrives after Christmas. Need a gift sooner? Send an Amazon Gift Card instantly by email or text message.
In Stock
$$60.99 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$60.99
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
Returnable until Jan 31, 2025
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Returns
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Learning Vulkan: Get introduced to the next generation graphics API-Vulkan

3.0 3.0 out of 5 stars 13 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$60.99","priceAmount":60.99,"currencySymbol":"$","integerValue":"60","decimalSeparator":".","fractionalValue":"99","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"w2j2pUoyPUcTMNiCVBckT%2FPgLgKmT3hGjiKoHuLi0Qsntg6aUtwG5kaTrEyawC%2F1FPtC522JUko%2FPM75Bq%2ByE1ZDLktBxSS4F95GKPh09g5LbetvVFfao4TQqKHaVJNG6oKnz3pevull%2BJXNnGGLkA%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

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


Key Features:

  • 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


Book Description:

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.


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


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.

Editorial Reviews

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.

Product details

  • Publisher ‏ : ‎ Packt Publishing (December 15, 2016)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 466 pages
  • ISBN-10 ‏ : ‎ 1786469804
  • ISBN-13 ‏ : ‎ 978-1786469809
  • Item Weight ‏ : ‎ 1.76 pounds
  • Dimensions ‏ : ‎ 7.5 x 0.94 x 9.25 inches
  • Customer Reviews:
    3.0 3.0 out of 5 stars 13 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Parminder Singh
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

3 out of 5 stars
13 global ratings

Review this product

Share your thoughts with other customers

Top reviews from the United States

  • Reviewed in the United States on March 2, 2017
    Learning Vulkan by Parminder Singh is an excellent foray into the Vulkan graphics API and quite a competent book. The text is a reasonable 466 pages, and packs a lot in there. Singh covers all the basics of using Vulkan and goes into great detail at each step of the way. Not only is there actual C++ code shown (a lot of it), but he explains each API call and what objects to pass it, a breakdown of each object structure and what it does, what’s valid (or invalid) for data you can put in, and so forth. I have not read the official Vulkan Programming Guide yet (that’s coming next) so I’m not able to compare them here. However, this book is an absolute treasure trove of information, and presented with clear context, not just a copy and paste of API docs.

    While the book is not particularly long, the author does manage to cover a good amount of ground. Of the topics included are: getting started with the LunarG SDK, initializing the API, debugging, command buffers and memory management, allocating image resources and the swapchain, buffers, render passes, framebuffers, working with SPIR-V shaders, pipelines and pipeline state management, descriptors and push constants, and finally drawing a textured polygon. I’m still getting acquainted with Vulkan myself, but this does seem to touch on all the fundamental topics to get started with the API. It really seems like Parminder Singh knows what he is talking about and feel I learned a lot finishing this text.

    One thing to keep in mind, this is not really a book about graphics programming techniques, but rather a survey of the API. Meaning, unlike Frank Luna’s DirectX books, you won’t have any cool demos to showcase at the end. Through the whole book you’re basically just working with the initialization of the Vulkan API, though you do end up with a colored triangle and finally a textured cube. This is honestly fine, and just what is needed at this point in the life of Vulkan. Flashy demos are cool, sure, but once you have the fundamentals down, it shouldn’t be hard to apply that knowledge, or port techniques from other APIs.

    I will note, however, that I wish there was more discussion into the performance cost or characteristics of parts of the Vulkan API. For example, sometimes there are multiple ways to perform an action (like with uniform buffers or push constants getting data into a shader) and there wasn’t much explanation as to when to do one thing over the other. This is not a huge concern, as there are lots of articles online covering these types of things and it seems the book is there to get you familiar with the concepts and data structures to allow you to do your own research later. Certainly, I still have a lot of questions but I can’t imagine a more thorough book as an introduction to this relatively new API.

    Some familiarity with older graphics APIs will probably help, but I don’t think it’s absolutely needed. In my opinion, if you are wanting to learn graphics programming today, you might as well just jump into Vulkan (or DirectX12, if you prefer) as the industry will quickly adopt these new, lower-level APIs and you will be setting yourself up for the future. Do understand, though, that Vulkan is extremely verbose and needs something like 1,000 lines of code just to get a triangle on the screen. So stark beginners may be put off by that complexity. And you should definitely have good working knowledge of C++ before getting into this. With that in mind, however, I think that Learning Vulkan by Parminder Singh is a great place to start to delve into this exciting new world of Vulkan. Well worth reading.
    8 people found this helpful
    Report
  • Reviewed in the United States on December 17, 2023
    The book was excellent until the reader reached chapters 8-11 (the last 3rd of the book) The last few chapters failed to compile do to depreciated instructions (information). No remedy is given.
    I did not get around to reading/ using the book for months at which time, returning it is/was futile.

    Thank you so much Amazon for selling books that are outdated and for that reason, worthless.
    I request the purchase price be returned regardless of time lapsed.
  • Reviewed in the United States on November 2, 2017
    The first mark were grammar errors. I know grammatical errors don't necessarily matter as much to a technical book but they do suggest an inferior product. The book was written in English but it is obvious a non-native speaker wrote this. I'm not a xenophobe but the publishers should have at least enough respect for the audience to correct this.

    The examples and source code are useful, I guess. However, entire blocks of function calls are replaced with "...". I guess this is so the reader can refer to the complete code from their website but still continuity is great when I just want to read and learn and see what is going on.

    In many cases the code is either down right wrong or very misleading because of the above paragraph. For example;
    There was a function definition defined on page x with "..." replacements above and below the relevant code. on page x + 3, there is another function definition with totally different code. Code to me that was sufficiently different enough to suggest it was a completely new function. Is this the same function, because this is a compiler error? There's no context, so I can't use the book as a reference manual to build my play app and instead I'm forced to dig through their electronic code. It's overall a very poor experience.

    Definitely NOT recommended. Especially for people less experienced in programming in general.
    2 people found this helpful
    Report
  • Reviewed in the United States on January 2, 2017
    This the best book on Vulkan so far, in my opinion of course. I felt my understanding on Vulkan improving a lot reading this. (Before this I had the Vulkan Programming Guide that for some reason felt like barely an improvement over the public API documents).
    It may help you too.
    6 people found this helpful
    Report
  • Reviewed in the United States on May 25, 2017
    I would not recommend getting this book if you want to learn Vulkan. The author is constantly reminding you how his text is "short, precise, and full of practical implementations" while the actual text is clumsy, wordy, and full of distracting regionalisms if not outright grammatical errors. This book doesn't seem to have been carefully edited. The chapters are full of unnecessary repeats that confuse rather than clarify. I often found myself lost in a sea of Vulkan commands that just blurred together. The explanations were quite often just convoluted re-wordings of the command name. I recommend that until a decent book comes out stick to the regular old Vulkan documentation. I often find the official documentation for APIs to be terse and dense, but I think in this case you'll get to the information faster and understand it better.

    For whatever reason, clumsy wording and convoluted language seems to be the norm for technical manuals. I have read a lot of technical manuals, many of which are quite poor, but this is on the short list of the worst of them. Your mileage may vary, but I found this book to be completely unusable.
    17 people found this helpful
    Report
  • Reviewed in the United States on August 16, 2017
    Horrible waist of money. It is not better than the huge convoluted Vulkan documentation that you can get for free.
    Don't buy it. I would like my money back if possible.

    Get the cube example from Lunar SDK compile read it, and evolve upon it.
    That is the way to go for now.
    3 people found this helpful
    Report
  • Reviewed in the United States on June 6, 2017
    Too many mistakes and typos, did you guys even proofread it before releasing???
    9 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Cliente Amazon
    5.0 out of 5 stars If you're looking to learn Vulkan this is a great starting point!
    Reviewed in Spain on June 2, 2020
    Perfect book to start to learn Vulkan.
  • Amazon Customer
    5.0 out of 5 stars A good book for beginners
    Reviewed in the United Kingdom on February 20, 2017
    A very good, informative and easy to approach book for a beginner. Just finished reading it and learnt a lot.
  • Alejandro
    3.0 out of 5 stars Good for begginers
    Reviewed in Spain on December 6, 2017
    This book is good for beginners. Everything is properly explained (sometimes using a too much tiring pattern for simple details such as struct fields that after a couple of examples, the reader gets used to the "how it works").

    The framework provided works perfectly, and lets the user read and study all functionalities.

    In my opinion, global approach is the main lack of this book: it would help a lot to include good explanations and examples about how the main functionalities in Vulkan piece up together. Also, the last part (specially the shader related chapter) has explanations that could be improved.

    I'd recommend this book to people trying to learn Vulkan, specially those with at least some knowledge about graphics programming.
  • anon
    1.0 out of 5 stars Does not work on Linux
    Reviewed in the United Kingdom on May 21, 2017
    The way it is written makes it only work on Windows, so I can't follow along in GNU/Linux.