可编程渲染管线(一)

图形编程的发展历史

综述:从固定到可编程
1.早期图形编程过程中程序员只能通过硬件供应商提供的非常底层的函数库(没有现成的描述图元的API)来进行编写,工作量巨大,标准不一.
2.标准的产生:标准图形函数库(GKS\OpenGL…)使得程序员可以在硬件设备无关的条件下进行图形编程,这些API接口的内部对于程序员的图元绘制或请求都以固定的方式来处理,这就是固定功能渲染流水线机制.这样程序员的工作量大大减少,但控制权降低了(无法随心所欲地绘制),
3.hooks(钩函数)的出现,打破了流水线的限制,使用可编程着色器修改渲染流水线的特定步骤.
详解:
1.GPU渲染管线:渲染管线的功能是在给定虚拟相机,三维物体.光源.光照模式以及纹理的情况下生成或绘制一幅二维图像的过程
2.渲染流水线的三个过程:
应用阶段:CPU处理,主要加载图元信息(顶点数据\摄像机位置\光照\纹理等)
几何阶段:GPU处理,模型变换\计算顶点处材质的光照着色效果\视窗裁剪\世界坐标转屏幕坐标
光栅化阶段:GPU处理,其输入是经过处理和变换的顶点\颜色\纹理坐标,主要是对每个像素点正确配色,以便绘制整幅图.
可编程渲染管线(一)
可编程渲染管线(一)
注:顶点着色:确定顶点上材质的光照效果
几何\曲面细分着色器:增加顶点和以及细化表面