标签:整理 ima str logs opengl 检查 包含 混合 不同的
主要是对第二章的整理
渲染流水线:由一个三维场景出发,生成(渲染)一张二维图像。
渲染流程:应用阶段、几何阶段、光栅化阶段。
应用阶段:
1. 把数据加载到显存中
渲染所需数据从硬盘,到内存,再到显存
2. 设置渲染状态
渲染状态:使用哪个顶点着色器、片元着色器、光源属性、材质等
3. 调用Draw Call
发起方CPU,接收方GPU
GPU流水线
以下为几何阶段主要步骤
顶点着色器:
裁剪:
一个图元和摄像机视野的三种关系:
屏幕映射:
把每个图元的x、y坐标转换到屏幕坐标系
OpenGL:左下角(0,0)
DirectX:左上角(0,0)
以下为光栅化阶段主要步骤
三角形设置:
上一阶段得到的是三角形每条边的两个端点,三角形设置计算边界像素的坐标信息
三角形遍历:
片元着色器:
逐片元操作:
Draw Call中造成性能问题的元凶是CPU
为了让CPU和GPU可以并行工作,两者之间有个命令缓冲区。CPU通过图像编程接口向命令缓冲区添加指令,GPU从中读取指令并执行。
命令缓冲区的指令有很多种类:
标签:整理 ima str logs opengl 检查 包含 混合 不同的
原文地址:http://www.cnblogs.com/pandawuwyj/p/6691752.html