# webglRenderAchieve **Repository Path**: liar7254/webgl-render-achieve ## Basic Information - **Project Name**: webglRenderAchieve - **Description**: 使用typescript实现的webgl 软渲染 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-02-06 - **Last Updated**: 2025-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```markdown # WebGL软渲染实现 ## 项目介绍 一个基于TypeScript的WebGL软渲染实现,通过将GLSL shader代码转译为TypeScript,实现shader的断点调试功能。项目可以拦截任意基于WebGL的H5游戏的渲染调用,转为软渲染实现。 ## 主要特性 - WebGL 1.0 API的软渲染实现 - GLSL到TypeScript的转译支持 - Shader断点调试能力 - 完整的渲染管线模拟 ## 快速开始 ### 环境准备 ```bash # 安装依赖 npm install # 打包项目 npm run build ``` ### 项目配置 1. 将 `dist` 目录下的以下文件复制到目标HTML同级目录: - `bundle.js` - `jszip.min.js` 2. 在HTML文件中添加必要的依赖和配置: ```html
``` ## 使用指南 ### Shader调试流程 1. 设置 `glDebugMode = 2` 运行项目,将自动下载转换后的shader代码 2. 将下载的代码覆盖到 `src/webglImpl/shader/tsScript` 目录 3. 重新打包项目,更新 `bundle.js` 4. 设置 `glDebugMode = 1` 重新运行项目,即可使用软渲染模式 ### 注意事项 - 启用GLHack后仅支持WebGL 1.0 - WebGL扩展功能在软渲染模式下不可用 - 复杂shader可能需要特殊处理 ## 技术原理 1. 通过拦截WebGL API调用,将渲染操作转换为软渲染实现 2. 使用AST解析将GLSL代码转换为可调试的TypeScript代码 3. 模拟完整的GPU渲染管线,在CPU端实现渲染逻辑 ## 贡献指南 欢迎提交Issue和Pull Request来帮助改进项目。