这是我参与「第五届青训营 」伴学笔记创作活动的第 16 天
本堂课课程大纲
- webgl是什么
- 现代图形系统
- GPU
- webgl渲染流程
webgl相关概念
WebGL是什么?
GPU≠WebGL≠3D
WebGL经常被当成3D API,人们总想“我可以使用WebGL和一些神奇的东西做出炫酷的3D作品”。 事实上WebGL仅仅是一个光栅化引擎,它可以根据你的代码绘制出点,线和三角形。 想要利用WebGL完成更复杂任务,取决于你能否提供合适的代码,组合使用点,线和三角形代替实现。
WebGL在电脑的GPU中运行。
Modern Graphics System
- 光栅(Raster):几乎所有的现代图形系统都是基于光栅绘制图形的,光栅就是指构成图像的像素阵歹
- 像素(Pixel):一个像素对应图像上的一个点,它通常保存图像上的某个具体位置的颜色等信息。
- 帧缓存(Frame Buffer) :在绘图过程中,像素信息被存放于帧缓存中,帧缓存是一块内存地址。
- CPU (Central Processing Unit) :中央处理单元,负责逻辑计算。
- GPU (Graphics Processing Unit) :图形处理单元,负责图形计算。
图形渲染过程:
CPU vs GPU
GPU由大量的小运算单元构成
每个运算单元只负责处理很简单的计算
每个运算单元彼此独立
因此所有计算可以并行处理
WebGL & OpenGL
WebGL Startup
- 创建WebGL上下文
- 创建WebGL Program
- 将数据存入缓冲区
- 将缓冲区数据读取到GPU
- GPU执行WebGL程序,输出结果
课后个人总结
经过本堂课的学习,了解到了WebGL相关的知识,看完讲师的演示,个人觉得WebGL是极具趣味性和复杂性的东西,深入研究需要一定的时间和精力。