这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天
今天我跟着月影老师学习了WebGL相关知识,感觉这个领域还是很难很抽象的一个领域,而且对数学逻辑要求也是非常之高。总体下来感觉学起来还是有一些吃力的,不过也扩宽了我的视野,增长了很多见识。
一,本节课重点内容
本节课主要讲了WebGL相关知识。包括使用WebGL绘图,来绘制三角形,正方形等图像,还介绍了CPU与GPU做的一些工作和特性。还有一些复杂图像在绘制时要做一些切割分离然后分开绘制再拼接,最后月影老师还讲了一些基于WebGl的一些封装的库,可以起到简化开发,便于使用的功能,最后老师介绍了一些WebGl的配置,以及可以使用码上掘金平台来练习使用WebGl来绘制图形,起到一种简化开发,便于使用的功能。
二,详细知识介绍
CPU 主要负责要负责加载并准备好场景数据、设置材质,纹理,光源属性等渲染状态、渲染基础图形单元,同时负责想 GPU 发送指令。
GPU 往往部分只能执行一些简单的运算,但是GPU非常密集 接收 CPU 的指令进行图形的绘制,通过顶点处理和片元处理等操作,生成像素阵列。
三,实践的例子
<script id="3d-vertex-shader" type="x-shader/x-vertex">
attribute vec4 a_position;
uniform mat4 u_matrix;
void main() {
// Multiply the position by the matrix.
gl_Position = u_matrix * a_position;
}
</script>
四,课后个人总结
这个领域还是很难很抽象的一个领域,而且对数学逻辑要求也是非常之高。总体下来感觉学起来还是有一些吃力的,不过也扩宽了我的视野,增长了很多见识。以后有机会会尝试系统的学习一下webgl的