Appearance
Three.js 深度解析与手写实现
本书深入解析 Three.js 源码,并手写实现一个 Mini Three.js,帮助你真正掌握 3D 引擎的核心原理。
第一部分:项目准备与数学库 (Foundation)
理论:Three.js 架构设计
实战:搭建项目与数学库实现
- 项目初始化与 TypeScript 配置
- 构建系统与测试框架
- Vector2/3/4 源码解析与实现
- Matrix3/4 源码解析与实现
- Quaternion 源码解析与实现
- Euler、Box3、Sphere 等实用类
- Color 颜色系统实现
第二部分:核心对象系统 (Core System)
理论:Three.js 核心架构
实战:核心对象实现
- EventDispatcher 事件系统
- Object3D 基类实现
- Scene 场景管理
- Group 与层级管理
- BufferAttribute 实现
- BufferGeometry 实现
- InterleavedBuffer 交错缓冲
- Mesh 网格对象
- Layers 图层系统
第三部分:WebGL 渲染器 (Renderer)
理论:Three.js 渲染架构
实战:渲染器实现
- WebGLRenderer 核心架构
- WebGLState 状态管理
- WebGLPrograms 程序管理
- WebGLAttributes 属性管理
- WebGLGeometries 几何体管理
- WebGLTextures 纹理管理
- WebGLObjects 对象缓存
- WebGLRenderLists 渲染列表
- 渲染循环与动画
第四部分:材质与着色器 (Materials)
理论:Three.js 材质系统
实战:材质系统实现
- Material 基类实现
- MeshBasicMaterial 实现
- MeshLambertMaterial 实现
- MeshPhongMaterial 实现
- MeshStandardMaterial PBR 实现
- ShaderMaterial 自定义材质
- 着色器编译与优化
第五部分:光照系统 (Lighting)
理论:Three.js 光照架构
实战:光照实现
第六部分:相机系统 (Camera)
理论与实战:相机实现
第七部分:几何体与纹理 (Geometry & Texture)
理论:几何体生成算法
实战:几何体与纹理实现
- BoxGeometry 立方体
- SphereGeometry 球体
- PlaneGeometry 平面
- CylinderGeometry 圆柱
- Texture 纹理系统
- TextureLoader 纹理加载
- CubeTexture 立方体贴图
第八部分:加载器与文件格式 (Loaders)
理论:模型加载原理
实战:GLTFLoader 深度解析与实现
- GLTFLoader 架构设计
- JSON 解析与场景构建
- 二进制数据处理(BufferView/Accessor)
- 材质与纹理加载
- 骨骼动画数据加载
- 扩展支持与插件系统
- KHR_draco_mesh_compression 扩展
第九部分:高级特性 (Advanced Features)
理论与实战:高级功能
- Raycaster 射线投射
- 动画系统深度解析
- AnimationClip 与 KeyframeTrack
- AnimationMixer 动画混合器
- 骨骼动画与蒙皮
- 后处理系统:EffectComposer
- Pass 系统与自定义后处理
- Fog 雾效实现
- LOD 细节层次管理
- 辅助工具:AxesHelper、GridHelper
- PMREMGenerator 与 IBL 预滤波
- WebGLCubeRenderTarget 动态环境映射
- Three.js 物理引擎集成