#version 320 es precision highp float; // 从顶点着色器输入 in vec2 vTexCoord; in vec4 vColor; // 纹理采样器 uniform sampler2D uTexture; // 材质参数 uniform vec4 uTintColor; uniform float uOpacity; // 输出颜色 out vec4 fragColor; /** * @brief 片段着色器入口 * * 采样纹理并与顶点颜色、色调和透明度混合 */ void main() { // 采样纹理 vec4 texColor = texture(uTexture, vTexCoord); // 混合:纹理 * 顶点颜色 * 色调 fragColor = texColor * vColor * uTintColor; // 应用透明度 fragColor.a *= uOpacity; // Alpha 测试:丢弃几乎透明的像素 if (fragColor.a < 0.01) { discard; } }