WebGL(3D渲染)| 青训营笔记

109 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天

WebGL(3D渲染)

WebGL:运用GPU进行3D渲染(计算机图形学)

image.png

1. 轮廓提取 / meshing
2. 光栅化(变成像素的点)
3. 帧缓存
4. 渲染

GPU由大量的小运算单元构成
每个运算单元只负责处理很简单的计算
每个运算单元彼此独立
因此所有计算可以并行处理

和cpp的openGL很相似web.eecs.umich.edu/~sugih/cour…

WebGL Startup 1. 创建 WebGL 上下文 2. 创建 WebGL Program 3. 将数据存入缓冲区 4. 将缓冲区数据读取到 GPU 5. GPU 执行 WebGL 程序,输出结果

Mesh.js mesh和普通2D绘图对比如下: image.png

顶点着色器->片源着色器(中间线性插值)
绘制点,线,三角形,但多边形无法直接绘制
    · 普通多边形三角剖分(Earcut算法)
    · 复杂多边形先转化为普通多边形        

3DMesh 图形库:SpriteJS 旋转+缩放是线性变换

3D 标准模型的四个齐次矩阵(mat4)
1.投影矩阵 Projection Matrix(缩放和平移)
2.模型矩阵 Model Matrix
3视图矩阵 View Matrix(调整摄像机位置)
4.法向量矩阵 Normal Matrix(法线)

image.png

相关资料 image.png 云朵:分形操作 The book of shaders(可以直接搜):绘画,设计,图像处理

标题:「WebGL 月影带练」第五届字节跳动青训营 - 前端专场

网址:live.juejin.cn/4354/WebGL