【WebGL高级】一些WebGL学习笔记和资料分享(包括WebGL+OpenGL+计算机图形学相关)

本文分享了作者的WebGL学习笔记,涵盖了原生WebGL、Three.js和计算机图形学的相关知识。提供了GitHub源码链接及一系列WebGL、Three.js和JavaScript的中英文学习资料,包括官方API文档、推荐书籍等。此外,还推荐了上海交通大学的计算机图形学课程资源。
摘要由CSDN通过智能技术生成

学习笔记

首先是自己的一些WebGL学习笔记分享吧,这是对于原生WEBGL的学习点滴记录,主要针对WebGL编程指南,WebGL高级编程,以及NeHeWebGL这三个教程学习。由于web3D技术看似很炫酷,但是涉及到的知识也是非常多的,包括JS基础知识,计算机图形学知识,线性代数知识等,学习曲线也是比较陡的。以下就是记录了自己在学习webgl过程中的的代码笔记和学习点滴记录,也算是个总结吧,基本上对代码中的相关位置都做出了详细记录。

 

GItHub源码分享:

https://github.com/xiugangzhang/WebGL-Learn

WEBGL开发视频+文档资料PDF(WEBGL,Three.js,JavaScript中英文学习资料):

Three.js想学习资料全网首发(视频+文档)
1.官方的学习文档资料:https://threejs.org/docs/#api/animation/Keyfra

目 录 第1章 WebGL简介 1 1.1 WebGL——一个技术定义 2 1.2 3D图形学——入门 4 1.2.1 3D坐标系 4 1.2.2 网格、多边形和顶点 5 1.2.3 材质、纹理和光源 5 1.2.4 变换与矩阵 6 1.2.5 相机、透视、视口和投影 6 1.2.6 着色器 7 1.3 WebGL原生API 8 1.3.1 WebGL应用结构剖析 9 1.3.2 画布元素与绘制上下文 9 1.3.3 视口 10 1.3.4 Buffer、ArrayBuffer和类型化数组 10 1.3.5 矩阵 11 1.3.6 着色器 12 1.3.7 绘制图元 13 1.4 本章小结 14 第2章 你的第一个WebGL程序 15 2.1 Three.js——一个JavaScript 3D引擎 15 2.2 建立Three.js运行环境 17 2.3 一个简单的Three.js网页 17 2.4 一个真实的3D示例 20 2.4.1 为场景着色 23 2.4.2 添加纹理映射 24 2.4.3 旋转物体 25 2.4.4 循环重绘和requestAnimationFrame() 25 2.4.5 让页面贴近生活 26 2.5 本章小结 27 第3章 图形 28 3.1 Sim.js——一个轻量级的WebGL模拟框架 29 3.2 创建网格 30 3.3 使用材质、纹理和光源 34 3.3.1 光源的种类 35 3.3.2 使用多重纹理创建更具真实感的场景 37 3.3.3 纹理与透明 42 3.4 构建变换层级 42 3.5 创建自定义几何体 46 3.6 点和线的渲染 49 3.6.1 使用粒子系统绘制点 50 3.6.2 线的绘制 52 3.7 编写着色器 53 3.7.1 WebGL着色器基础 53 3.7.2 Three.js中的着色器 55 3.8 本章小结 60 第4章 动画 61 4.1 动画基础 61 4.1.1 帧动画 61 4.1.2 时间动画 62 4.1.3 插值与补间动画 62 4.1.4 关键帧 63 4.1.5 关节动画 64 4.1.6 蒙皮动画 64 4.1.7 目标变形动画 64 4.2 使用Tween.js库来创建补间动画 65 4.2.1 创建一个基本的补间动画 66 4.2.2 带缓动效果的补间动画 68 4.3 为带关节的模型制作关键帧动画 71 4.3.1 载入模型 71 4.3.2 为模型制作动画 73 4.4 材质和光源动画 76 4.5 纹理动画 78 4.6 蒙皮动画和变形动画 80 4.7 本章小结 80 第5章 交互 81 5.1 点击检测、拾取和投影 81   Three.js中的点击检测 82 5.2 处理鼠标移入和点击 85 5.3 处理拖曳 88   在拖曳中使用补间动画 91 5.4 使用点击点和法线信息 91 5.5 基于相机的交互 92 5.5.1 利用镜头控制制作一个模型浏览器 93 5.5.2 场景漫游 95 5.6 本章小结 96 第6章 2D与3D的整合 98 6.1 整合动态HTML和WebGL 99 6.1.1 创建DIV元素弹出层 99 6.1.2 利用2D屏幕坐标为3D物体添加注释 103 6.1.3 为3D场景添加背景图片 104 6.2 在2D页面上插入3D浮层 105 6.3 利用2D Canvas创建动态纹理 107 6.4 使用视频作为纹理 115 6.5 渲染动态3D文字 119 6.6 WebGL中的终极整合 121 6.7 本章小结 123 第7章 实战WebGL 124 7.1 如何选择运行库和框架 124 7.2 载入3D内容 126 7.2.1 COLLADA:数字资产交换格式 126 7.2.2 Three.js中的JSON模型文件格式 130 7.2.3 Three.js二进制模型文件格式 134 7.2.4 压缩3D模型 135 7.2.5 Three.js中的JSON场景文件格式 136 7.3 创建3D内容 137 7.3.1 从Blender中导出3D内容 137 7.3.2 把OBJ文件转换为Three.js JSON文件 139 7.3.3 把OBJ文件转换为Three.js二进制文件 139 7.3.4 其他软件或格式的转换 139 7.4 浏览器支持度 140 7.4.1 检测浏览器的WebGL支持 141 7.4.2 在Safari中开启WebGL支持 142 7.5 处理丢失上下文事件 143 7.6 WebGL的安全性 146 7.7 本章小结 149 第8章 你的第一个WebGL游戏 150 8.1 构建游戏的各个部分 151 8.1.1 相机、角色和控制 152 8.1.2 美术设计 159 8.1.3 模型预览器 161 8.1.4 创建粒子系统 163 8.1.5 添加声音 166 8.2 万物归一 167 8.3 本章小结 180 后记 181 附录A WebGL在线资源 183
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值