图形渲染管道
最后更新于:2022-04-02 04:10:06
[TOC]
## 图形渲染管道(Graphics Pipeline)
绘制3D图形需要一系列的步骤,我们抽象成渲染管道(流水线)

- Vertex Shader :定点着色器
- Fragment Shader: 上色
## 步骤
### 顶点着色器
- 每个顶掉都要调用
- 每次调用产生一个顶点数据

### 图元组装
将位置.索引等信息组成三角形

### 栅格化
将图元数据转换成为一个一个像素的数据,每个数据称作一个片段(Fragment)

- 左图,实线的三角形遮住了虚线的三角形,那么我们可以去掉虚线的三角形
- 右图, 虚线框为视界的范围,那么超出视界的范围可以被裁剪掉
#### Cull 和Clip
- cul(选择去掉一些图元)
- clip(剪裁去掉图元的某些部分)
### 片段着色器(Fragment Shader)
- 每个像素都要调用
- 计算图元每个像素的颜色

### 着色操作-深度探测
深度探测
- 遍历所有图元中的像素,计算深度
- 如果存在深度更小(离用户更近的点),那么可以采取一些策略

### 帧缓存区 (Frame Buffer)
存储发送给显示器的位图

';