Files
Vulkan-Samples/shaders/texture_loading/glsl/bg.vert
T
2025-09-16 19:25:18 +08:00

37 lines
1002 B
GLSL

#version 450
// 硬编码的顶点数据 - 4个顶点组成三角形带覆盖整个屏幕
const vec2 positions[6] = vec2[6](
vec2( 1.0, 1.0), // 右上 - 三角形1
vec2(-1.0, 1.0), // 左上 - 三角形1
vec2(-1.0, -1.0), // 左下 - 三角形1
vec2(-1.0, -1.0), // 左下 - 三角形2
vec2( 1.0, -1.0), // 右下 - 三角形2
vec2( 1.0, 1.0) // 右上 - 三角形2
);
// 硬编码的纹理坐标
const vec2 texCoords[6] = vec2[6](
vec2(1.0, 1.0), // 右上
vec2(0.0, 1.0), // 左上
vec2(0.0, 0.0), // 左下
vec2(0.0, 0.0), // 左下
vec2(1.0, 0.0), // 右下
vec2(1.0, 1.0) // 右上
);
// 输出变量
layout(location = 0) out vec2 outTexCoord;
void main() {
// 获取顶点位置
vec2 position = positions[gl_VertexIndex];
// 设置输出位置(Vulkan使用不同的坐标系)
gl_Position = vec4(position, 0.0, 1.0);
// 输出纹理坐标
outTexCoord = texCoords[gl_VertexIndex];
}