渲染流水线2018-11-26

前言

        本系列为本人阅读《unity shader 》冯乐乐时,做下的记录。

什么是渲染流水线


       渲染流水线的工作任在于由一个三维场景出发、生成(或者说渲染)一张二维图像。换句话说,计算机需要从一系列的顶点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以看到的图像。这个工作通常是由CPU和GPU共同完成。

渲染流水线的三个阶段:

 《Real-Time Rendering, Third Edition》中将一个渲染流程分成3个阶段:应用阶段(Application Stage)、几何阶段(Geometry Stage)、光栅化阶段(Rasterizer Stage)。

        应用阶段:通常由CPU负责实现。开发者的三个任务:1、准备好场景数据,例如摄像机的位置、视椎体、场景中包含的模型、使用的光源。2、进行粗粒度剔除(culling),把不可见的物体剔除。3、设置每个物体的渲染状态,使用的材质,纹理,使用的shader等。应用阶段输出的是渲染所需要的几何信息,即渲染图元(rendering primitives)

        几何阶段:gpu上处理,对于每个渲染图元进行逐顶点、逐多边形操作。把顶点左边变换到屏幕空间中。输出屏幕空间的二维坐标,每个顶点对应的深度值、着色等相关信息,并传递给下一个阶段。

        光栅化阶段:GPU上运行。决定每个渲染图元的哪些像素被绘制在屏幕上。对上一阶段得到的逐顶点数据进行插值,然后在进行逐像素处理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容