一本书除了后面的优化其余的都撸完了一遍,但是实际应用起来好多东西记不清,还有好多东西不懂,东百度西百度,最后发现书
6里就有。。而且总结的很好,所以,我来二刷啦~~~不得不佩服女神,条理清晰,总结到位,这本书真心喜欢。
#
程序员的三大浪漫:编译原理,操作系统,图形学。
程序员中的“外貌协会”
#渲染流水线
#什么是渲流水线
- 渲染流水线的最终目的在于生成或渲染一张二维纹理,即我们在电脑屏幕上看到的所有效果。它的输入是一个虚拟摄像机,一些光源,一些shader以及纹理等。
- 对于时时渲染来说,渲染管线就是基础,是底层工具
- 使用流水线的好处:可以提高单位时间的生产量。(最慢的管线阶段决定绘制速度,即图像的更新速度,这一速度一般用FPS来表示,也就是每秒绘制的图像数量,或者用Hz来表示)
#渲染流程的三个阶段:
- 应用阶段(Application),几何阶段(Geometry),光栅化阶段(Rasterizer Stage)。
- (只是概念流水线,与GPU流水线区分开)
- 每个阶段本身也可能是一条管线(几何阶段),此外还可能对有的阶段全部或者部分进行处理化(光栅化阶段),应用程序阶段虽然是一个单独的过程,但仍然可以对之进行管线化或者并行处理
应用阶段:
- CPU实现
- 开发者拥有绝对控制权
- 这一阶段开发者有三个任务:
- 准备场景数据:相机,光源,模型等。
- 粗粒度剔除(Culling)工作:不可见的剔除出去,不需要移交给几何阶段。
- 设置好每个模型的渲染状态:材质,纹理,shader等。
- .重要输出:渲染所需的几何信息,即渲染图元(rendering primitives),这些图元将会被传递给下一阶段--几何阶段。