目录
一、修改顶点着色器:接收外部顶点数据
二、定义 CPU 端顶点数据结构
2.1 引入依赖与定义结构体
2.2 定义顶点数据数组
三、顶点绑定描述(Binding Description)
核心参数解析
四、顶点属性描述(Attribute Description)
4.1 核心参数解析
五、配置图形管线的顶点输入状态
注意事项
六、核心总结
在前几章中,我们将顶点数据硬编码在顶点着色器中,本章将把这些数据迁移到内存中的顶点缓冲,并通过顶点输入描述告知 Vulkan 如何解析这些数据,使其能正确传递到顶点着色器。我们会先从最简单的 CPU 可见缓冲入手,后续再介绍更高效的暂存缓冲方案。
一、修改顶点着色器:接收外部顶点数据
首先重构顶点着色器,移除硬编码的顶点数据,改为通过结构体接收外部传入的顶点属性:
hlsl
// 顶点输入结构体:与 CPU 端数据格式一一对应 struct VSInput { float2 inPosition : ATTRIB0; // 位置属性(location 0) float3 inColor : ATTRIB1; // 颜色属性(location 1) }; // 顶点