Rendering pipeline overview(读书笔记1 --- Real-Time rendering)

1. Rendering pipeline的作用就是在给定的虚拟相机、三维物体、光源、着色方程式、纹理等的条件下产生(渲染)二维图像

2. pipeline包含很多个stage,其效率由最慢的stage决定

3. 一个实时渲染系统可以包含三个阶段:application, geometry, rasterizer,每个阶段可能自己也是由pipeline组成的(geometry stage),或者是并行化的(rasterizer)

4. Hertz用来表示硬件的刷新率=1/sec
FPS可以表示某一帧用的时间,也可以表示某段时间内的平均performance

找到pipeline中的最慢stage,就可以算出FPS
在pipeline中,名词 throughput (吞吐率)用来表示渲染速度

渲染速度举例:一台刷新率为60Hz的显示器,rendering pipeline的瓶颈需要62.5ms来执行,则最大渲染速度为1/0.0625=16FPS;显示器60Hz,60/2=30Hz,60/3=20Hz,60/4=15Hz。所以最终渲染速度为15Hz

 5. application stage: 在CPU上执行,开发者有绝对控制权。

这一阶段的行为有可能会影响后续阶段的performance.

这一阶段的输出为rendering primitives, 即点/线/三角形等

6. geometry stage:矩阵变换,投影。计算画什么,怎么画,在哪里画。
分为这几个功能stage: 建模和视图变换,顶点shading,投影,clipping,screen mapping

7. Rendering pipeline

这里讲的rendering pipeline是real-time rendering pipeline,这不是唯一一种rendering pipeline,还有离屏rendering pipeline。譬如,电影制作中最常使用的是micropolygon pipelines,学术研究和predictive rendering applications(如建筑物可视化预览等)通常采用ray tracing(光线追踪) renderers

原文地址:https://www.cnblogs.com/lxb0478/p/6197251.html