Tags
Language
Tags
July 2025
Su Mo Tu We Th Fr Sa
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Graphics Programming With Vulkan And C++

    Posted By: ELK1nG
    Graphics Programming With Vulkan And C++

    Graphics Programming With Vulkan And C++
    Published 2/2024
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 5.88 GB | Duration: 6h 6m

    Learn graphics programming now using the most popular graphics API

    What you'll learn

    Create graphics applications

    Apply common rendering math

    Use Vulkan for graphics programming

    Apply good coding standards

    Creating and managing windows

    Writing shader code using GLSL

    Setting up a project using CMake

    Setup a graphics pipeline

    Basic graphics theory

    Requirements

    Good Understanding of modern C++ (pointers, references, lambdas)

    Basic Understanding of OOP

    Knowledge of the Standard C++ Library & Algorithms

    Description

    WelcomeVulkan is the newest and most popular graphics API out there. It is the successor of the already deprecated OpenGL and it is the future for any kind of cross-platform graphical applications. It is extremely performant which makes it perfect for game and game engine development.With this course I aim to teach you the very basics of computer graphics with Vulkan in some short and simple lessons. I believe everyone can learn and it is especially important to have easy to understand chunks that can be consumed in short bursts.This course will cover: setting up your C++ project, creating a window, initializing vulkan, rendering a simple triangle, compiling shaders, debugging issues, rendering vertices, basic transformations for 3D.I will not go as far as to teach complex topics like post-processing or shadows since the course aims to be short and accessible. The course will get regular updates though that will cover any major changes in the specification.The course is tought on Microsoft Windows but most of the knowledge gained can be used on any platform.Technologies UsedVulkan SDK - the main topic of the course is the vulkan graphics library specification. This is what "talks" to the GPU of your PC and renders any graphical information that you send to it.GLFW - Abstracts handling windows so that we don't have to call native platform functions. This way the course would be mostly accessible to people on any platform.GLM - A mathematical library that will help with transformation of 3D information.CMake - for managing and compiling the project. We will use a modern setup that is easy to understand and use.

    Overview

    Section 1: Introduction

    Lecture 1 Promo

    Lecture 2 Welcome

    Lecture 3 FAQ

    Lecture 4 Course Overview

    Lecture 5 Installing Vulkan SDK

    Lecture 6 Can I Run It?

    Section 2: Setup

    Lecture 7 Software Used

    Lecture 8 Installing Visual Studio

    Lecture 9 Installing Ninja

    Lecture 10 Installing CMake

    Lecture 11 Installing Git

    Section 3: CMake Configuration

    Lecture 12 Creating "Hello, World!"

    Lecture 13 CMake Dependencies & Vulkan

    Section 4: Coding Standards

    Lecture 14 Coding Standard: Numbers

    Lecture 15 Coding Standard: Microsoft GSL

    Lecture 16 Commonly Used Types

    Lecture 17 Coding Style: Google & Clang Formatting

    Lecture 18 Coding Style: Course Overrides

    Lecture 19 Coding Style: EditorConfig

    Lecture 20 Styling is Important!

    Section 5: Window Creation & Management

    Lecture 21 What is a Window?

    Lecture 22 Initializing GLFW

    Lecture 23 Using Precompiled Headers

    Lecture 24 The Coordinate System & 2D Vectors

    Lecture 25 What are Monitors?

    Lecture 26 Monitor Functions

    Lecture 27 Extracting Monitor Functionallity

    Lecture 28 Creating the Window Class

    Lecture 29 Adding Precompiled Headers Everywhere

    Lecture 30 Preparing the Window for Vulkan

    Section 6: Vulkan Pipeline

    Lecture 31 What is Vulkan?

    Lecture 32 Vulkan Architecture

    Section 7: The Vulkan Instance

    Lecture 33 Creating the Vulkan Instance

    Lecture 34 Checking Existing Extensions

    Lecture 35 Refactoring Extensions Check

    Lecture 36 Functional Programming Tricks

    Lecture 37 The Instance: Summary

    Section 8: Error Handling & Validation Errors

    Lecture 38 Basic Validation Layers

    Lecture 39 Adding the Spdlog Library

    Lecture 40 Setting Up the Debug Messenger

    Lecture 41 Creating a Glfw Error Callback

    Lecture 42 Reorganize Code Into Regions

    Lecture 43 Validation Errors: Summary

    Section 9: Devices & Queues

    Lecture 44 What Are Physical Devices?

    Lecture 45 Getting Physical Devices

    Lecture 46 Checking for Queue Family Support

    Lecture 47 Creating Logical Device

    Lecture 48 Getting the Graphics Queue

    Lecture 49 Devices & Queues: Summary

    Section 10: Presentation & Swap Chain

    Lecture 50 Creating the Surface

    Lecture 51 Creating the Presentation Queue

    Lecture 52 Checking Device Extension

    Lecture 53 Getting Swap Chain Capabilities

    Lecture 54 Choosing Swap Chain Capabilities

    Lecture 55 Creating the Swap Chain

    Lecture 56 Getting Swap Chain Images

    Lecture 57 Creating Image Views

    Lecture 58 Presentation & Swap Chain: Summary

    Section 11: Graphics Pipeline

    Lecture 59 What is a Vertex?

    Lecture 60 What is the Graphics Pipeline?

    Lecture 61 Basic Shader Compilation

    Lecture 62 CMake Shader Setup

    Lecture 63 Vertex & Fragment Shaders

    Lecture 64 Visual Studio Extension for GLSL

    Lecture 65 Shader Includes

    Lecture 66 Loading Shaders

    Lecture 67 Viewport & Scissoring

    Lecture 68 Vertex Input & Rasterizer

    Lecture 69 Color Blending & Layout

    Lecture 70 Render Pass

    Lecture 71 Creating the Pipeline

    Lecture 72 Graphics Pipeline: Summary

    Section 12: Drawing the Triangle

    Lecture 73 Framebuffers

    Lecture 74 Command Pool & Command Buffer

    Lecture 75 Rendering Commands

    Lecture 76 Creating Semaphores

    Lecture 77 Rendering

    Lecture 78 Resizing the Window

    Lecture 79 Shader Communication

    Lecture 80 Shader Variables: Adding Color

    Lecture 81 Color Blending & Transparency

    Lecture 82 Rendering Commands: Summary

    Section 13: Data Buffers

    Lecture 83 The Vertex Input Class

    Lecture 84 Rendering Vertex Buffers

    Lecture 85 Transient Command Buffers

    Lecture 86 Abstracting Buffer Creation

    Lecture 87 Staging & GPU Buffers

    Lecture 88 Index Buffer

    Lecture 89 Push Constants

    Lecture 90 Uniform Buffer

    Lecture 91 Uniform Descriptor Set

    Lecture 92 Data Buffers: Summary

    Section 14: Textures

    Lecture 93 Passing UVs to the Shader

    Lecture 94 Descriptor Pool for Images

    Lecture 95 Creating the Sampler

    Lecture 96 Laying Out the Texture Setup

    Lecture 97 Texture Resource

    Lecture 98 Loading the Image to Staging

    Lecture 99 Creating the Image

    Lecture 100 Transfering the Texture to the GPU

    Lecture 101 Image View & Descriptor Set

    Lecture 102 Textures: Summary

    Section 15: Advanced

    Lecture 103 Depth Problem

    Lecture 104 Enable Depth Testing

    Section 16: What now…

    Lecture 105 Where to go next?

    Lecture 106 Bonus Materials

    Junior C++ programmers,Game engine programmers,3D graphics programmers switching to Vulkan