WebGL 理论基础
简介
WebGL 理论基础(https://webglfundamentals.org/webgl/lessons/zh_cn/)是一系列从基础理论开始讲解 WebGL 的教程网站。与大多数改编自旧 OpenGL 文章的其他教程不同,这些教程去旧迎新,丢弃了一些过时的思想,旨在让用户彻底了解 WebGL 的工作原理。网站提供多语言版本(包括简体中文、English、Français、日本語等)。如果对 WebGL2 感兴趣,也可以访问 webgl2fundamentals.org。
主要内容分类
网站教程覆盖以下主题模块:
- 基础概念:WebGL 基础概念、工作原理、着色器和 GLSL、State Diagram
- 图像处理:图像处理、进一步处理图像
- 二维变换:二维平移、旋转、缩放及矩阵运算
- 三维:三维正射投影、透视投影、相机
- 光照:三维方向光源、点光源、聚光灯
- 组织和重构:码少趣多、绘制多个物体、场景图
- 几何:三维几何加工、加载 .obj 及带 .mtl 的 .obj 文件
- 纹理:三维纹理、数据纹理、多纹理、跨域图像、透视纠正、投影映射、渲染到纹理
- 阴影:阴影技术
- 技术:二维 DrawImage 与矩阵栈、精灵;三维立方体贴图、环境贴图、天空盒、蒙皮、雾、抓取
- 文字:HTML、二维 Canvas、纹理、字形纹理四种文字实现方式
- 其他纹理与技术:Ramp Textures (Toon Shading)、GPGPU
- 建议与优化:最小程序、无数据绘图、Shadertoy、Pulling Vertices、顶点索引、实例化绘制
- 杂项:设置安装、样板、画布尺寸、动画、图元、多视图多画布、相机可视化、阿尔法通道、2D/3D 库对比、错误模式、矩阵差异、精度问题、截屏、背景等
- 参考:属性、纹理单元、帧缓冲、readPixels、API 文档、TWGL 轻量级辅助库
适用场景
- 希望从零开始系统学习 WebGL 原理的开发者与学生
- 需要查阅 WebGL 二维/三维、光照、纹理、阴影等具体技术实现的前端工程师
- 寻找 WebGL 基础教程、示例代码及轻量辅助库(如 TWGL)参考的使用者
参与和贡献
网站代码托管于 GitHub,用户可通过 Fix、Fork、Contribute 参与完善。感谢 vanzo16-github 的 3 次贡献。