概述
移除项目中所有 WebGL 相关的内容,仅保留 WebGPU/WGSL 相关代码,简化着色器语言库并专注于现代 WebGPU 着色器生成。
背景
项目当前支持 GLSL(WebGL 着色器语言)和 WGSL(WebGPU 着色器语言)两种着色器输出。随着 WebGPU 的成熟,决定移除 GLSL/WebGL 相关支持,专注于 WGSL。
关联项目
这是一个跨仓库的重构任务,相关的 issues:
依赖关系
@feng3d/tsl
└── 独立的着色器语言库(不直接依赖 render-api/webgpu)
任务清单
1. 代码分析
2. GLSL 相关移除
3. 变量和控制流
4. 着色器构建
5. 验证
相关分支
wardenfeng/feng3d-workspace:remove-webgl-support
预期影响
- 简化着色器语言库,减少维护成本
- 移除约 12 个文件中的 WebGL 相关代码
- 专注于 WGSL 着色器生成
涉及文件
variables/varying.ts - varying 变量
variables/assign.ts - 变量赋值
types/matrix/mat4x3.ts - 矩阵类型
shader/transform.ts - 转换着色器
shader/vertex.ts - 顶点着色器
shader/fragment.ts - 片段着色器
glsl/texture/ - GLSL 纹理函数
glsl/sampler/ - GLSL 采样器函数
glsl/derivative/ - GLSL 导数函数
core/buildShader.ts - 着色器构建
control/return.ts - return 语句
提交信息模板
refactor: 移除 WebGL 支持,专注 WebGPU
- 移除所有 GLSL/WebGL 相关的代码和函数
- 移除着色器构建中的 WebGL 兼容性处理
- 简化代码,专注于 WGSL 着色器生成
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
概述
移除项目中所有 WebGL 相关的内容,仅保留 WebGPU/WGSL 相关代码,简化着色器语言库并专注于现代 WebGPU 着色器生成。
背景
项目当前支持 GLSL(WebGL 着色器语言)和 WGSL(WebGPU 着色器语言)两种着色器输出。随着 WebGPU 的成熟,决定移除 GLSL/WebGL 相关支持,专注于 WGSL。
关联项目
这是一个跨仓库的重构任务,相关的 issues:
依赖关系
任务清单
1. 代码分析
2. GLSL 相关移除
glsl/目录下的纹理函数(如果仅用于 WebGL)glsl/目录下的采样器函数(如果仅用于 WebGL)glsl/目录下的导数函数(如果仅用于 WebGL)3. 变量和控制流
variables/varying.ts中的 WebGL varying 处理variables/assign.ts中的 WebGL 特殊处理control/return.ts中的 WebGL 特定逻辑4. 着色器构建
core/buildShader.ts中的 WebGL/WGSL 转换逻辑shader/transform.ts中的坐标系转换(WebGL ↔ WebGPU)5. 验证
相关分支
wardenfeng/feng3d-workspace:remove-webgl-support预期影响
涉及文件
variables/varying.ts- varying 变量variables/assign.ts- 变量赋值types/matrix/mat4x3.ts- 矩阵类型shader/transform.ts- 转换着色器shader/vertex.ts- 顶点着色器shader/fragment.ts- 片段着色器glsl/texture/- GLSL 纹理函数glsl/sampler/- GLSL 采样器函数glsl/derivative/- GLSL 导数函数core/buildShader.ts- 着色器构建control/return.ts- return 语句提交信息模板