Vulkan graphics and compute API Training

Overview

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

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.

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

 

 

Vulkan graphics and compute API Training

 

Objective

 

  • 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

 

Outline

1. Getting Started with the NextGen 3D Graphics API
Vulkan and its evolution
Vulkan versus OpenGL
Important jargons before we get started
Learning the fundamentals of Vulkan
Understanding the Vulkan application
Getting started with the Vulkan programming model
Hardware initialization
Window presentation surfaces
Resource setup
Pipeline setup

2. Your First Vulkan Pseudo Program
Installing Vulkan
The Hello World!!! pseudocode
Initialization – a handshake with the device
Swapchain initialization – querying the WSI extension

3. Shaking Hands with the Device
Getting started with the LunarG SDK
Setting up our first project with CMake
Introduction to extensions
Creating a Vulkan instance
Understanding physical and logical devices
Understanding queues and queue families
Implementing devices and queues all together

4. Debugging in Vulkan
Peeking into Vulkan debugging
Understanding LunarG validation layers and their features
Implementing debugging in Vulkan

5. Command Buffer and Memory Management in Vulkan
Getting started with command buffers
Understanding command pool and buffer APIs
Recording command buffers
Implementing the wrapper class for a command buffer
Managing memory in Vulkan

6. Allocating Image Resources and Building a Swapchain with WSI
Getting started with image resources
Understanding image resources
Memory allocation and binding image resources
Introducing swapchains
Creating the swapchain
Creating a depth image
Introduction to tiling
Summarizing the application flow

7. Buffer Resource, Render Pass, Framebuffer, and Shaders with SPIR-V
Understanding the Vulkan buffer resource type
Creating geometry with a buffer resource
Understanding a Render Pass
Using the Render Pass and creating the framebuffer
Clearing the background color
Working with a shader in Vulkan

8. Pipelines and Pipeline State Management
Getting started with pipelines
Caching pipeline objects with a PCO
Creating a graphics pipeline
Understanding compute pipelines
Pipeline State Objects (PSO) in Vulkan
Input assembly states
Implementing the pipeline

9. Drawing Objects
Overview of the drawing process in Vulkan
Preparing the drawing object
Recording Render Pass commands
Rendering the drawing object
Rendering an indexed geometry
Understanding synchronization primitives in Vulkan
Resizing the display window

10. Descriptors and Push Constant
Understanding the concept of descriptors
Creating the descriptor sets
How to implement Uniforms in Vulkan?
Push constant updates

11. Drawing Textures
Image resource – a quick recap
Prerequisites for texture drawing
Implementing the image resource with linear tiling
Implementing the image resource with optimal tiling
Copying data content between images and buffers
Updating the descriptor set

 

 

Vulkan graphics and compute API Training

Email : info@bigdatatraining.in

Call –: +91 97899 68765 / +91 9962774619 / 044 – 42645495

Weekdays / Fast Track / Weekends / Corporate Training modes available

Vulkan graphics and compute API Training Also available across India in Bangalore, Pune, Hyderabad, Mumbai, Kolkata, Ahmedabad, Delhi, Gurgon, Noida, Kochin, Tirvandram, Goa, Vizag, Mysore,Coimbatore, Madurai, Trichy, Guwahati

On-Demand Fast track Vulkan graphics and compute API Training globally available also at Singapore, Dubai, Malaysia, London, San Jose, Beijing, Shenzhen, Shanghai, Ho Chi Minh City, Boston, Wuhan, San Francisco, Chongqing.