34 lines
753 B
GLSL
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;
|
|
}
|