渲染流水线
渲染流水线一共分为三个阶段:
应用阶段(Application Stage),几何阶段(Geometry Stage), 光栅化阶段(Rasterizer Stage).
应用阶段:
通常由CPU负责实现,这一阶段最重要的输出是渲染所需的几何信息,即渲染图元.渲染图元可以是点,线,三角面等.
几何阶段:
这一阶段通常在GPU上进行.几何阶段负责和每个渲染图元打交道,进行逐顶点,逐多边形的操作,这一阶段将会输出屏幕空间的二维顶点坐标,每个顶点对应的深度值,着色等相关信息,并传递给下一个阶段
光栅化阶段:
这一阶段将会使用上个阶段传递的数据来产生屏幕上的像素,并渲染出最终的图像.这一阶段也是在GPU上运行.
CPU和GPU之间的通信
起点是CPU,即应用阶段.分为三步:
①把数据加载到显存中.(硬盘 --> 系统内存(RAM) --> 显存(因为显卡对于显存的访问更快,而且大多数显卡对于RAM没有直接访问的权利))
②设置渲染状态.
③调用DrawCall.
GPU流水线
顶点着色器是完全可以编程的,它通常实现顶点的空间变换,顶点着色等功能.曲面细分着色器<