1. WebGL学前说明
# WebGL学前说明
正式讲解之前,对WebGL做一个简单的说明,为什么要学习WebGL,学习WebGL能做什么、怎么学习WebGL。
# 为什么要学习WebGL
少部分同学是需要直接使用原生WebGL API写项目或封装3D引擎,自然需要学习。
不过对于大部分同学,做项目并不需要直接用到原生WebGL的API,一般都是选择一个3D引擎,比如three.js、cesium、babylon。
虽然不直接用,但是我还是建议大家学习下原生WebGL,原因很简单,你学习了原生WebGL,一方面,你可以更容易理解three.js等3D引擎的底层原理,另一方面你通过WebGL熟悉了着色器语言GLSL ES的语法后,再去学习threejs、cesium等引擎的shader就会更加容易。
总的来说,不管你现在使用任何一款3D引擎开发项目,如果你想更进一步,都可以提前学习下原生WebGL,这将会使你非常受益。
# 一些threejs shader案例展示
threejs系统课程中 Shader相关案例展示,这些案例都需要用到WebGL的着色器语言GLSL ES。
- 智慧城市特效
- 地球的飞线效果
- 建筑的光墙流动效果
# 为什么要学习WebGL:工作要求
另一方面,Web3D工资高点的岗位,一般面试,可能问一些渲染管线、Shader的相关知识点。
# 学习基础
- 数学相关(线性代数、向量点乘叉乘等等)
- 图形学
如果你有数学和图形学相关基础,学习原生WebGL,将会非常容易。如果你没有图形学相关基础,也这没有关系。
考虑大到部分前端或转行的同学,并没有图形学相关基础,咱们的课程会尽量弱化这方面的要求,只要你有基本的高中数学基础,都可以直接学习本课程。
如果你数学基础不太好,也已经入门threejs,可以直接通过咱们的threejs进阶数学几何计算 (opens new window)课程,补充相关数学知识,这样比你直接看书更直观,不那么枯燥无聊。
# 前端编程基础
学习本课程需要你有基本的前端基础,最起码掌握JavaScript编程语言,稍微熟悉下HTML、CSS。JavaScript(ES6)、HTML、CSS不需要你精通,但是最起码了解基本语法。