一、渲染流程
① 基本图形硬件流水线设计
- 应用程序层:游戏和应用层软件开发人员为主体,通过调用API进行上层开发,不需要考虑移植性问题;
- 硬件抽象层:抽象出硬件的加速功能,进行有利于应用层开发的封装,并向应用层开发 API;
- 硬件层:将硬件驱动提供给抽象层,以实现抽象层加速功能的有效性。
② 渲染流水线的具体流程
- 应用层:应用程序层主要与内存,CPU 打交道,诸如碰撞检测,场景图监理,视锥裁剪等经典算法在此阶段执行。在阶段的末端,几何体的数据(顶点坐标,法向量,纹理坐标,纹理)等通过数据总线传送到图形硬件;
- 硬件抽象层:使用 DirectX 与 OpenGL。对于这一部分,主要是一些 API 等的调用;
- 硬件层:硬件层在渲染流水线中最为复杂,也最为重要,可编程渲染流水线与固定渲染流水线的区别在于是否对着色器进行编程。
- 固定渲染管线流程图: