Extra2D/shader/default.vert

34 lines
753 B
GLSL

#version 320 es
precision highp float;
// 视图投影矩阵
uniform mat4 uViewProjection;
// 模型矩阵
uniform mat4 uModelMatrix;
// 顶点颜色(覆盖顶点属性中的颜色)
uniform vec4 uColor;
// 顶点属性
layout(location = 0) in vec2 aPosition;
layout(location = 1) in vec2 aTexCoord;
layout(location = 2) in vec4 aColor;
// 输出到片段着色器
out vec2 vTexCoord;
out vec4 vColor;
/**
* @brief 顶点着色器入口
*
* 计算顶点在裁剪空间中的位置,
* 并传递纹理坐标和顶点颜色到片段着色器
*/
void main() {
gl_Position = uViewProjection * uModelMatrix * vec4(aPosition, 0.0, 1.0);
vTexCoord = aTexCoord;
// 使用 uniform 颜色覆盖顶点属性颜色
vColor = uColor;
}