WebGL 与动画实现|青训营笔记

118 阅读2分钟

WebGL 与动画实现| 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第14天

WebGL 与动画实现

1、什么是WebGL

WebGL经常被当成3D API,人们总想“我可以使用WebGL和一些神奇的东西做出炫酷的3D作品”。 事实上WebGL仅仅是一个光栅化引擎,它可以根据你的代码绘制出点,线和三角形。 想要利用WebGL完成更复杂任务,取决于你能否提供合适的代码,组合使用点,线和三角形代替实现。

WebGL在电脑的GPU中运行。因此你需要使用能够在GPU上运行的代码。 这样的代码需要提供成对的方法。每对方法中一个叫顶点着色器, 另一个叫片断着色器,并且使用一种和C或C++类似的强类型的语言 GLSL。 (GL着色语言)。 每一对组合起来称作一个 program(着色程序)。

顶点着色器的作用是计算顶点的位置。根据计算出的一系列顶点位置,WebGL可以对点, 线和三角形在内的一些图元进行光栅化处理。当对这些图元进行光栅化处理时需要使用片断着色器方法。 片断着色器的作用是计算出当前绘制图元中每个像素的颜色值。

几乎整个WebGL API都是关于如何设置这些成对方法的状态值以及运行它们。 对于想要绘制的每一个对象,都需要先设置一系列状态值,然后通过调用gl.drawArrays 或 gl.drawElements 运行一个着色方法对,使得你的着色器对能够在GPU上运行。

image.png

2、创建动画的步骤

image.png

3、代码片段

image.png

4、矩阵标准型

image.png 我们可以根据矩阵,数学模型,来做自己想要做的东西自己创造出如下图一样的东西

image.png

5、总结

以上就是典型的webgl可视化项目中常见的动画制作场景,希望能互相学习,帮助到大家。