先弄清楚:这门课解决什么工作场景
很多做界面或可视化的开发者习惯了上层引擎,一旦遇到底层渲染卡顿、跨平台兼容差或需要精细控制显存时,就会束手无策。这门讲 Vulkan 与 C++ 图形编程的课,针对的就是这类硬核场景。它不教你画网页动效,而是带你直接面对底层图形接口,解决引擎开发、渲染管线定制、高性能可视化工具搭建中遇到的性能瓶颈与硬件调度问题。如果你平时的工作只停留在调组件,学这门课能帮你把视角下沉到图形接口层面,理解一帧画面从数据提交到屏幕呈现的完整链路。
适合什么基础,学完能独立做什么
这绝不是零基础入门课。你需要对 C++ 的指针、内存生命周期有基本概念,且最好接触过其他图形接口或写过简单的渲染逻辑。课程没有在语法上过多停留,而是直奔 Vulkan 的架构与管线设计。学完之后,你应当能独立搭建一套基础的渲染管线:从初始化实例、配置数据缓冲、搭建图形管线,到最终把模型渲染到目标窗口。对于需要自研轻量渲染工具、做技术预研,或者想往图形底层开发转岗的程序员来说,这套底层逻辑的梳理是绕不开的必经路。
资料怎么配合练习,建议先看哪几块
资料包里的视频和附件不是看完就懂了,Vulkan 的学习成本在于繁琐的初始化和严格的状态机。建议先集中看 Vulkan 架构与管线设置这两块,建立对实例、物理设备和逻辑设备层级关系的整体认知,不要一上来就敲代码。看架构讲解时,同步对照配套的图文资料,把各层级对象的依赖关系画在纸上。进入代码实践环节时,重点放在数据缓冲与管线配置的附件上,这部分资料体量虽小但信息密度极高。每看完一段实现逻辑,立刻在本地环境跑通对应的极简代码,遇到校验层报错就回看视频里的状态设置顺序。把架构理解与管线代码实操交替进行,比盲目从头到尾敲一遍要有效得多。
课程目录
课程目录414 集
- 📁 6 - Vulkan Pipeline 6 - Vulkan Pipeline资料.zip
- [1.8 MB]
- 31 - What is Vulkan.mp4
- [43.6 MB]
- 32 - Vulkan Architecture.mp4
- [66.3 MB]
- 31 - What is Vulkan.srt [1.5 KB]
- 32 - Vulkan Architecture.srt [2.5 KB]
- 31 - What is Vulkan.vtt [1.6 KB]
- 32 - Vulkan Architecture.vtt [2.6 KB] 📁 2 - Setup 2 - Setup说明.zip
- [1.8 MB] 7 - Software Used.html
- [1.8 KB]
- 10 - Installing CMake.mp4
- [18.0 MB] 9 - Installing Ninja.srt [2.0 KB]
- 10 - Installing CMake.vtt [1.5 KB]
- 11 - Installing Git.mp4
- [15.8 MB] 8 - Installing Visual Studio.vtt [2.7 KB]
- 11 - Installing Git.vtt [1.4 KB] 8 - Installing Visual Studio.mp4
- [32.6 MB] 8 - Installing Visual Studio.srt [2.6 KB] 9 - Installing Ninja.vtt [2.0 KB] 9 - Installing Ninja.mp4
- [29.2 MB]
- 11 - Installing Git.srt [1.4 KB]
- 10 - Installing CMake.srt [1.5 KB] 📁
- 16 - What now
- 16 - What now说明.png [493.5 KB] 1
- 06 - Bonus Materials.html
- [1.0 KB] 1
- 05 - Where to go next.html
- [1.0 KB] 📁 7 - The Vulkan Instance 7 - The Vulkan Instance资料.zip
- [1.8 MB]
- 33 - Creating the Vulkan Instance.mp4
- [131.2 MB]
- 37 - The Instance Summary.mp4
- [24.2 MB]
- 34 - Checking Existing Extensions.mp4
- [80.5 MB]
- 35 - Refactoring Extensions Check.mp4
- [42.3 MB]
- 33 - Creating the Vulkan Instance.vtt [12.5 KB] 37 - vulkan-instance-functional.zip
- [5.8 KB]
- 37 - The Instance Summary.srt [718.0 B]
- 36 - Functional Programming Tricks.vtt [2.1 KB]
- 34 - Checking Existing Extensions.vtt [5.3 KB]
- 37 - The Instance Summary.vtt [699.0 B]
- 35 - Refactoring Extensions Check.vtt [2.7 KB]
- 34 - Checking Existing Extensions.srt [5.2 KB]
- 35 - Refactoring Extensions Check.srt [2.6 KB]
- 36 - Functional Programming Tricks.mp4
- [33.7 MB]
- 36 - Functional Programming Tricks.srt [2.1 KB]
- 33 - Creating the Vulkan Instance.srt [12.1 KB] 📁
- 15 - Advanced
- 15 - Advanced必看.zip
- [1.8 MB] 1
- 03 - Depth Problem.mp4
- [35.3 MB] 1
- 03 - Depth Problem.srt [2.1 KB] 1
- 04 - Enable Depth Testing.mp4
- [240.3 MB] 1
- 04 - Enable Depth Testing.srt [13.1 KB] 1
- 04 - Enable Depth Testing.vtt [13.9 KB] 1
- 03 - Depth Problem.vtt [2.2 KB] 📁
- 13 - Data Buffers
- 13 - Data Buffers说明.png [493.5 KB]
- 86 - Abstracting Buffer Creation.mp4
- [42.4 MB]
- 92 - buffers.zip
- [18.7 KB]
- 91 - Uniform Descriptor Set.mp4
- [92.3 MB]
- 83 - The Vertex Input Class.mp4
- [69.6 MB]
- 87 - Staging GPU Buffers.mp4
- [41.2 MB]
- 90 - Uniform Buffer.mp4
- [203.5 MB]
- 85 - Transient Command Buffers.vtt [3.6 KB]
- 88 - Index Buffer.vtt [4.5 KB]
- 87 - Staging GPU Buffers.srt [3.1 KB]
- 83 - The Vertex Input Class.srt [6.2 KB]
- 86 - Abstracting Buffer Creation.srt [2.4 KB]
- 84 - Rendering Vertex Buffers.vtt [14.3 KB]
- 89 - Push Constants.mp4
- [205.2 MB]
- 88 - Index Buffer.mp4
- [64.1 MB]
- 88 - Index Buffer.srt [4.4 KB]
- 92 - Data Buffers Summary.srt [439.0 B]
- 91 - Uniform Descriptor Set.srt [6.7 KB]
- 92 - Data Buffers Summary.vtt [426.0 B]
- 90 - Uniform Buffer.srt [11.0 KB]
- 88 - indexed-buffers.zip
- [17.3 KB]
- 83 - The Vertex Input Class.vtt [6.4 KB]
- 92 - Data Buffers Summary.mp4
- [15.2 MB]
- 86 - Abstracting Buffer Creation.vtt [2.5 KB]
- 84 - Rendering Vertex Buffers.mp4
- [168.4 MB]
- 85 - Transient Command Buffers.srt [3.6 KB]
- 90 - Uniform Buffer.vtt [11.5 KB]
- 87 - Staging GPU Buffers.vtt [3.2 KB]
- 89 - Push Constants.srt [7.5 KB]
- 84 - Rendering Vertex Buffers.srt [14.0 KB]
- 89 - Push Constants.vtt [7.7 KB]
- 91 - Uniform Descriptor Set.vtt [6.9 KB]
- 85 - Transient Command Buffers.mp4
- [51.3 MB] 📁
- 11 - Graphics Pipeline
- 11 - Graphics Pipeline资料.png [493.5 KB]
- 70 - Render Pass.mp4
- [73.2 MB]
- 72 - Graphics Pipeline Summary.mp4
- [16.6 MB]
- 61 - Basic Shader Compilation.mp4
- [22.4 MB]
- 71 - Creating the Pipeline.mp4
- [44.8 MB]
- 59 - What is a Vertex.mp4
- [38.6 MB]
- 61 - Basic Shader Compilation.srt [2.7 KB]
- 59 - What is a Vertex.srt [1.4 KB]
- 62 - CMake Shader Setup.srt [4.6 KB]
- 66 - Loading Shaders.mp4
- [146.0 MB]
- 71 - Creating the Pipeline.srt [2.7 KB]
- 66 - Loading Shaders.srt [8.3 KB]
- 64 - Visual Studio Extension for GLSL.srt [2.0 KB]
- 63 - Vertex Fragment Shaders.srt [2.7 KB]
- 69 - Color Blending Layout.vtt [4.0 KB]
- 67 - Viewport Scissoring.vtt [2.9 KB]
- 67 - Viewport Scissoring.srt [2.8 KB]
- 60 - What is the Graphics Pipeline.vtt [1.9 KB]
- 70 - Render Pass.vtt [5.4 KB]
- 59 - What is a Vertex.vtt [1.4 KB]
- 68 - Vertex Input Rasterizer.vtt [3.9 KB]
- 62 - CMake Shader Setup.vtt [4.6 KB]
- 72 - Graphics Pipeline Summary.vtt [451.0 B]
- 62 - CMake Shader Setup.mp4
- [68.7 MB]
- 60 - What is the Graphics Pipeline.mp4
- [49.1 MB]
- 60 - What is the Graphics Pipeline.srt [1.8 KB]
- 61 - Basic Shader Compilation.vtt [2.7 KB]
- 70 - Render Pass.srt [5.1 KB]
- 64 - Visual Studio Extension for GLSL.mp4
- [24.1 MB]
- 65 - Shader Includes.mp4
- [13.9 MB]
- 72 - Graphics Pipeline Summary.srt [464.0 B]
- 71 - Creating the Pipeline.vtt [2.8 KB]
- 63 - Vertex Fragment Shaders.vtt [2.9 KB]
- 66 - Loading Shaders.vtt [8.3 KB]
- 68 - Vertex Input Rasterizer.mp4
- [50.7 MB]
- 68 - Vertex Input Rasterizer.srt [3.6 KB]
- 69 - Color Blending Layout.srt [3.8 KB]
- 63 - Vertex Fragment Shaders.mp4
- [22.3 MB]
- 64 - Visual Studio Extension for GLSL.vtt [1.9 KB]
- 65 - Shader Includes.srt [1.1 KB]
- 69 - Color Blending Layout.mp4
- [29.7 MB]
- 67 - Viewport Scissoring.mp4
- [44.0 MB]
- 65 - Shader Includes.vtt [1.1 KB] 📁
- 14 - Textures
- 14 - Textures文档.png [493.5 KB]
- 93 - Passing UVs to the Shader.mp4
- [87.2 MB] 1
- 02 - textures.zip
- [1.8 MB]
- 94 - Descriptor Pool for Images.mp4
- [119.3 MB] 1
- 00 - Transfering the Texture to the GPU.mp4
- [119.2 MB] 1
- 01 - Image View Descriptor Set.mp4
- [126.9 MB]
- 93 - Passing UVs to the Shader.srt [4.4 KB] 1
- 02 - Textures Summary.mp4
- [21.9 MB] 1
- 02 - Textures Summary.vtt [662.0 B]
- 97 - paving-stones.jpg [1.7 MB] 1
- 01 - Image View Descriptor Set.srt [7.1 KB]
- 93 - Passing UVs to the Shader.vtt [4.7 KB] 1
- 01 - Image View Descriptor Set.vtt [7.3 KB]
- 94 - Descriptor Pool for Images.srt [6.3 KB]
- 95 - Creating the Sampler.vtt [5.1 KB]
- 98 - Loading the Image to Staging.vtt [4.2 KB]
- 99 - Creating the Image.mp4
- [48.7 MB] 1
- 02 - Textures Summary.srt [615.0 B] 1
- 00 - Transfering the Texture to the GPU.srt [6.2 KB]
- 96 - Laying Out the Texture Setup.mp4
- [56.4 MB]
- 96 - Laying Out the Texture Setup.srt [4.1 KB]
- 99 - Creating the Image.srt [3.0 KB]
- 98 - Loading the Image to Staging.srt [4.1 KB]
- 97 - Texture Resource.html
- [234.0 B]
- 99 - Creating the Image.vtt [3.1 KB]
- 96 - Laying Out the Texture Setup.vtt [4.2 KB]
- 98 - Loading the Image to Staging.mp4
- [71.2 MB] 1
- 00 - Transfering the Texture to the GPU.vtt [6.5 KB]
- 95 - Creating the Sampler.srt [4.9 KB]
- 94 - Descriptor Pool for Images.vtt [6.6 KB]
- 95 - Creating the Sampler.mp4
- [65.7 MB] 📁 3 - CMake Configuration 3 - CMake Configuration必看.png [493.5 KB]
- 12 - Creating Hello World.mp4
- [29.4 MB]
- 13 - CMake Dependencies Vulkan.srt [6.3 KB]
- 13 - CMake Dependencies Vulkan.vtt [6.5 KB]
- 12 - Creating Hello World.srt [3.9 KB]
- 12 - Creating Hello World.vtt [3.9 KB]
- 13 - CMake Dependencies Vulkan.mp4
- [77.9 MB]
- 12 - project-structure.zip
- [727.0 B] 📁 9 - Devices Queues 9 - Devices Queues必看.zip
- [1.8 MB]
- 47 - Creating Logical Device.mp4
- [72.8 MB]
- 45 - Getting Physical Devices.mp4
- [88.1 MB]
- 44 - What Are Physical Devices.vtt [1.4 KB]
- 44 - What Are Physical Devices.mp4
- [37.4 MB]
- 49 - Devices Queues Summary.vtt [731.0 B]
- 49 - devices-and-queues.zip
- [7.9 KB]
- 49 - Devices Queues Summary.mp4
- [21.8 MB]
- 48 - Getting the Graphics Queue.srt [2.1 KB]
- 46 - Checking for Queue Family Support.mp4
- [32.0 MB]
- 44 - What Are Physical Devices.srt [1.4 KB]
- 45 - Getting Physical Devices.srt [5.7 KB]
- 49 - Devices Queues Summary.srt [689.0 B]
- 48 - Getting the Graphics Queue.vtt [2.2 KB]
- 48 - Getting the Graphics Queue.mp4
- [31.7 MB]
- 46 - Checking for Queue Family Support.vtt [4.0 KB]
- 45 - Getting Physical Devices.vtt [5.8 KB]
- 47 - Creating Logical Device.vtt [4.8 KB]
- 46 - Checking for Queue Family Support.srt [3.7 KB]
- 47 - Creating Logical Device.srt [4.7 KB] 📁 8 - Error Handling Validation Errors 8 - Error Handling Validation Errors说明.zip
- [1.8 MB]
- 42 - Reorganize Code Into Regions.mp4
- [33.2 MB]
- 39 - Adding the Spdlog Library.mp4
- [40.7 MB]
- 38 - Basic Validation Layers.mp4
- [216.4 MB]
- 38 - Basic Validation Layers.vtt [12.8 KB]
- 40 - Setting Up the Debug Messenger.vtt [5.9 KB]
- 43 - Validation Errors Summary.srt [742.0 B]
- 39 - Adding the Spdlog Library.srt [3.4 KB]
- 43 - Validation Errors Summary.vtt [730.0 B]
- 40 - Setting Up the Debug Messenger.srt [5.8 KB]
- 42 - Reorganize Code Into Regions.srt [1.7 KB]
- 38 - Basic Validation Layers.srt [12.4 KB]
- 42 - Reorganize Code Into Regions.vtt [1.9 KB]
- 39 - Adding the Spdlog Library.vtt [3.4 KB]
- 43 - Validation Errors Summary.mp4
- [23.1 MB]
- 41 - Creating a Glfw Error Callback.vtt [1.2 KB]
- 41 - Creating a Glfw Error Callback.srt [1.2 KB]
- 40 - Setting Up the Debug Messenger.mp4
- [117.4 MB]
- 41 - Creating a Glfw Error Callback.mp4
- [17.1 MB] 📁 5 - Window Creation Management 5 - Window Creation Management资料.zip
- [1.8 MB]
- 25 - What are Monitors.mp4
- [38.1 MB]
- 26 - Monitor Functions.mp4
- [119.5 MB]
- 22 - Initializing GLFW.vtt [6.4 KB]
- 26 - Monitor Functions.vtt [7.1 KB]
- 29 - Adding Precompiled Headers Everywhere.mp4
- [8.6 MB]
- 28 - Creating the Window Class.vtt [6.0 KB]
- 27 - Extracting Monitor Functionallity.vtt [5.2 KB]
- 25 - What are Monitors.srt [1.2 KB]
- 23 - Using Precompiled Headers.srt [2.5 KB]
- 22 - Initializing GLFW.mp4
- [66.6 MB]
- 28 - window-class.zip
- [3.9 KB]
- 30 - Preparing the Window for Vulkan.srt [1.6 KB]
- 28 - Creating the Window Class.mp4
- [68.7 MB]
- 30 - Preparing the Window for Vulkan.vtt [1.6 KB]
- 29 - Adding Precompiled Headers Everywhere.srt [822.0 B]
- 30 - Preparing the Window for Vulkan.mp4
- [21.6 MB]
- 21 - What is a Window.mp4
- [38.0 MB]
- 24 - The Coordinate System 2D Vectors.vtt [3.0 KB]
- 24 - The Coordinate System 2D Vectors.mp4
- [86.6 MB]
- 21 - What is a Window.srt [1.2 KB]
- 28 - Creating the Window Class.srt [5.9 KB]
- 29 - Adding Precompiled Headers Everywhere.vtt [805.0 B]
- 24 - The Coordinate System 2D Vectors.srt [2.6 KB]
- 26 - Monitor Functions.srt [7.0 KB]
- 23 - Using Precompiled Headers.mp4
- [13.9 MB]
- 25 - What are Monitors.vtt [1.3 KB]
- 22 - Initializing GLFW.srt [6.4 KB]
- 21 - What is a Window.vtt [1.3 KB]
- 27 - Extracting Monitor Functionallity.mp4
- [84.8 MB]
- 27 - Extracting Monitor Functionallity.srt [4.9 KB]
- 23 - Using Precompiled Headers.vtt [2.4 KB] 📁 4 - Coding Standards
- 14 - Coding Standard Numbers.mp4
- [13.0 MB]
- 15 - Coding Standard Microsoft GSL.mp4
- [53.5 MB]
- 15 - Coding Standard Microsoft GSL.vtt [4.0 KB]
- 14 - Coding Standard Numbers.vtt [793.0 B]
- 17 - Coding Style Google Clang Formatting.vtt [4.1 KB]
- 19 - Coding Style EditorConfig.mp4
- [8.7 MB]
- 18 - Coding Style Course Overrides.mp4
- [14.3 MB]
- 18 - Coding Style Course Overrides.srt [2.0 KB]
- 20 - Styling is Important.html
- [2.0 KB]
- 14 - Coding Standard Numbers.srt [798.0 B]
- 15 - Coding Standard Microsoft GSL.srt [3.8 KB]
- 17 - Coding Style Google Clang Formatting.srt [3.9 KB]
- 18 - Coding Style Course Overrides.vtt [2.1 KB]
- 19 - Coding Style EditorConfig.vtt [970.0 B]
- 16 - Commonly Used Types.html
- [1.4 KB]
- 17 - Coding Style Google Clang Formatting.mp4
- [47.8 MB]
- 19 - Coding Style EditorConfig.srt [961.0 B] 📁 1 - Introduction 4 - Course Overview.mp4
- [84.1 MB] 3 - FAQ.html
- [798.0 B] 6 - Can I Run It.mp4
- [10.4 MB] 6 - Can I Run It.srt [1.4 KB] 6 - Can I Run It.vtt [1.4 KB] 5 - Installing Vulkan SDK.srt [1.4 KB] 4 - Course Overview.srt [2.9 KB] 1 - Promo.srt [2.4 KB] 1 - Promo.vtt [2.7 KB] 5 - Installing Vulkan SDK.vtt [1.4 KB] 2 - Welcome.mp4
- [43.6 MB] 2 - Welcome.vtt [4.9 KB] 4 - Course Overview.vtt [3.2 KB] 5 - Installing Vulkan SDK.mp4
- [28.1 MB] 1 - Promo.mp4
- [67.8 MB] 2 - Welcome.srt [4.7 KB] 📁
- 12 - Drawing the Triangle
- 82 - Rendering Commands Summary.mp4
- [19.3 MB]
- 81 - Color Blending Transparency.mp4
- [27.1 MB]
- 76 - Creating Semaphores.mp4
- [49.5 MB]
- 78 - Resizing the Window.mp4
- [86.4 MB]
- 77 - Rendering.vtt [13.4 KB]
- 79 - Shader Communication.vtt [2.1 KB]
- 81 - Color Blending Transparency.srt [2.1 KB]
- 74 - Command Pool Command Buffer.srt [4.8 KB]
- 76 - Creating Semaphores.vtt [4.0 KB]
- 80 - Shader Variables Adding Color.srt [2.1 KB]
- 75 - Rendering Commands.mp4
- [110.9 MB]
- 78 - Resizing the Window.srt [5.3 KB]
- 74 - Command Pool Command Buffer.mp4
- [78.3 MB]
- 77 - Rendering.srt [12.8 KB]
- 82 - Rendering Commands Summary.vtt [586.0 B]
- 73 - Framebuffers.srt [2.4 KB] 77 - Rendering.mp4
- [222.5 MB]
- 78 - Resizing the Window.vtt [5.3 KB]
- 75 - Rendering Commands.vtt [8.8 KB]
- 81 - Color Blending Transparency.vtt [2.2 KB]
- 75 - Rendering Commands.srt [8.6 KB]
- 76 - Creating Semaphores.srt [3.8 KB]
- 79 - Shader Communication.srt [1.9 KB]
- 73 - Framebuffers.vtt [2.5 KB]
- 82 - Rendering Commands Summary.srt [616.0 B]
- 80 - Shader Variables Adding Color.vtt [2.2 KB]
- 79 - Shader Communication.mp4
- [53.5 MB]
- 80 - Shader Variables Adding Color.mp4
- [20.5 MB] 73 - Framebuffers.mp4
- [35.5 MB]
- 74 - Command Pool Command Buffer.vtt [4.8 KB] 📁
- 10 - Presentation Swap Chain
- 52 - Checking Device Extension.mp4
- [53.3 MB]
- 56 - Getting Swap Chain Images.mp4
- [20.8 MB]
- 57 - Creating Image Views.mp4
- [49.8 MB]
- 58 - presentation.zip
- [10.6 KB]
- 54 - Choosing Swap Chain Capabilities.mp4
- [110.9 MB]
- 58 - Presentation Swap Chain Summary.vtt [476.0 B]
- 57 - Creating Image Views.vtt [3.0 KB]
- 54 - Choosing Swap Chain Capabilities.srt [7.5 KB]
- 53 - Getting Swap Chain Capabilities.mp4
- [47.0 MB]
- 52 - Checking Device Extension.vtt [3.4 KB]
- 55 - Creating the Swap Chain.srt [4.5 KB]
- 53 - Getting Swap Chain Capabilities.srt [2.6 KB]
- 54 - Choosing Swap Chain Capabilities.vtt [7.9 KB]
- 51 - Creating the Presentation Queue.vtt [3.7 KB]
- 57 - Creating Image Views.srt [2.9 KB]
- 51 - Creating the Presentation Queue.mp4
- [55.8 MB]
- 56 - Getting Swap Chain Images.srt [1.3 KB]
- 58 - Presentation Swap Chain Summary.srt [455.0 B]
- 55 - Creating the Swap Chain.mp4
- [64.0 MB]
- 53 - Getting Swap Chain Capabilities.vtt [2.8 KB]
- 58 - Presentation Swap Chain Summary.mp4
- [18.2 MB]
- 50 - Creating the Surface.mp4
- [32.0 MB]
- 51 - Creating the Presentation Queue.srt [3.5 KB]
- 50 - Creating the Surface.vtt [2.1 KB]
- 55 - Creating the Swap Chain.vtt [4.6 KB]
- 56 - Getting Swap Chain Images.vtt [1.3 KB]
- 50 - Creating the Surface.srt [1.9 KB]
- 52 - Checking Device Extension.srt [3.2 KB] 适合人群 图形编程爱好者 游戏开发者 前端工程师 学习收获 掌握Vulkan基础 提升图形编程能力 实现复杂图形应用 祝您学习愉快! 学有所成,前程似锦!






