Vulkan 一句话心智词典(去恐惧版)

🧩 总体概念

Vulkan

一个让你"明确告诉 GPU 要按什么顺序干活"的接口。

Instance

Vulkan 的身份证,用来告诉系统"我要用 Vulkan"。

Physical Device

你机器里真实存在的 GPU。

Logical Device

你跟 GPU 建立的工作关系(你真正用的接口)。

🧵 执行 & 时间线

Queue

GPU 的工作队列,本质是"执行顺序的流水线"。

Command Buffer

一张「未来要执行的操作清单」,不是马上执行。

Command Pool

command buffer 的内存池(回收站 + 工厂)。

Submit

把"操作清单"交给 GPU 执行。

⏱ 同步(最容易吓人的部分)

Fence

CPU 问 GPU:「你干完了吗?」

Semaphore

一个队列告诉另一个队列:「我已经做到这里了」。

Pipeline Barrier

告诉 GPU:「后面的操作要等前面的资源状态准备好」

🧱 资源(你真正操作的东西)

Buffer

一块线性内存(顶点、索引、常量都住这)。

Image

带"用途状态"的纹理或帧缓冲。

Image Layout

图片现在是"干什么用的模式"。

(比如:画画 / 采样 / 显示)

🔁 状态与布局

UNDEFINED

"我不在乎之前是什么,反正马上要重写。"

COLOR_ATTACHMENT_OPTIMAL

我要往它上面画。

SHADER_READ_ONLY_OPTIMAL

着色器要读它。

PRESENT_SRC_KHR

给窗口系统显示用。

Layout Transition

告诉 GPU:图片用途变了。

🎨 渲染结构

Render Pass

描述一次"画画流程"里附件如何使用。

Subpass

RenderPass 里的一个阶段。

Framebuffer

RenderPass 实际用到的 image 组合。

🧠 管线相关

Pipeline

一整套 GPU 工作配置(着色器 + 状态合集)。

Shader

GPU 程序(顶点 / 片元等)。

Pipeline Layout

shader 能访问哪些资源的说明书。

📦 资源绑定

Descriptor Set

一包"我要给 shader 用的资源"。

Descriptor Layout

这包资源长什么样。

Descriptor Pool

分配 descriptor 的地方。

🧰 辅助工具

Validation Layer

Vulkan 的"唠叨但很聪明的老师"。

Swapchain

系统提供的"可显示图片队列"。

Present

把画好的图交给系统显示。

🧭 一句话总总结(最重要)

Vulkan = 用 command buffer 描述执行顺序,用同步保证顺序正确,用 layout 告诉资源当前用途。

相关推荐
成为大佬先秃头2 小时前
渐进式JavaScript框架:Vue 工具 & 模块化 & 迁移
开发语言·javascript·vue.js
程序员小白条2 小时前
提前实习的好处有哪些?有坏处吗?
java·开发语言·数据结构·数据库·链表
ss2732 小时前
Executors预定义线程池-正确使用姿势
linux·开发语言·python
七夜zippoe2 小时前
Python高级数据结构深度解析:从collections模块到内存优化实战
开发语言·数据结构·python·collections·内存视图
lly2024062 小时前
Vue.js 过渡 & 动画
开发语言
石工记2 小时前
Java 作为主开发语言 + 调用 AI 能力(大模型 API / 本地化轻量模型)
java·开发语言·人工智能
Ccuno2 小时前
Java虚拟机的内存结构
java·开发语言·深度学习
挖矿大亨2 小时前
C++中的递增运算符重载
开发语言·c++
FL16238631297 小时前
[C#][winform]基于yolov8的水表读数检测与识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
开发语言·yolo·c#