From 97be1b746a21fab54fa1843310914c2d770298da Mon Sep 17 00:00:00 2001 From: ChestnutYueyue <952134128@qq.com> Date: Tue, 3 Mar 2026 11:42:13 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=A0=E9=99=A4=E6=9C=AA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E5=AE=9E=E4=BE=8B=E5=8C=96=E9=A1=B6=E7=82=B9?= =?UTF-8?q?=E7=9D=80=E8=89=B2=E5=99=A8=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 该着色器文件未被实际使用,为保持代码库整洁故移除 --- .../romfs/shader/instanced.vert | 73 ------------------- 1 file changed, 73 deletions(-) delete mode 100644 examples/scene_graph_demo/romfs/shader/instanced.vert diff --git a/examples/scene_graph_demo/romfs/shader/instanced.vert b/examples/scene_graph_demo/romfs/shader/instanced.vert deleted file mode 100644 index b910b52..0000000 --- a/examples/scene_graph_demo/romfs/shader/instanced.vert +++ /dev/null @@ -1,73 +0,0 @@ -#version 320 es -precision highp float; - -// 全局 UBO (binding = 0) - 每帧更新一次 -layout(std140, binding = 0) uniform GlobalUBO { - mat4 uViewProjection; - vec4 uCameraPosition; - float uTime; - float uDeltaTime; - vec2 uScreenSize; -}; - -// 材质 UBO (binding = 1) - 每批次更新 -layout(std140, binding = 1) uniform MaterialUBO { - vec4 uColor; - vec4 uTintColor; - float uOpacity; - float uPadding[3]; // std140 对齐填充 -}; - -// 顶点属性 (每个顶点) -layout(location = 0) in vec2 aPosition; -layout(location = 1) in vec2 aTexCoord; -layout(location = 2) in vec4 aColor; - -// 实例属性 (每个实例) - 使用 location 3-6 -layout(location = 3) in vec2 iPosition; // 实例位置 -layout(location = 4) in float iRotation; // 实例旋转 -layout(location = 5) in vec2 iScale; // 实例缩放 -layout(location = 6) in vec4 iColor; // 实例颜色 - -// 输出到片段着色器 -out vec2 vTexCoord; -out vec4 vColor; -out vec4 vTintColor; -out float vOpacity; - -/** - * @brief 从旋转角度构建2D变换矩阵 - * @param angle 旋转角度(弧度) - * @return 2x2旋转矩阵 - */ -mat2 rotate2D(float angle) { - float c = cos(angle); - float s = sin(angle); - return mat2(c, -s, s, c); -} - -/** - * @brief 顶点着色器入口 - * - * 计算顶点在裁剪空间中的位置, - * 应用实例的变换(位置、旋转、缩放), - * 并传递纹理坐标和颜色到片段着色器 - */ -void main() { - // 应用实例缩放和旋转 - vec2 localPos = rotate2D(iRotation) * (aPosition * iScale); - - // 应用实例位置偏移 - vec2 worldPos = localPos + iPosition; - - // 变换到裁剪空间 - gl_Position = uViewProjection * vec4(worldPos, 0.0, 1.0); - - vTexCoord = aTexCoord; - - // 混合顶点颜色、实例颜色和材质颜色 - vColor = aColor * iColor * uColor; - - vTintColor = uTintColor; - vOpacity = uOpacity; -}