渲染管线简单梳理
demi 在 周三, 01/20/2021 - 11:05 提交
应用程序阶段:主要任务是在应用程序阶段的末端,将需要在屏幕上显示出来绘制的集合体(如点、线、矩阵等)输入到绘制管线的下一个阶段。对于被渲染的每一帧,应用程序阶段将摄像机位置,光照和模型的图元输出到管线的下一个主要阶段——几何阶段。
应用程序阶段:主要任务是在应用程序阶段的末端,将需要在屏幕上显示出来绘制的集合体(如点、线、矩阵等)输入到绘制管线的下一个阶段。对于被渲染的每一帧,应用程序阶段将摄像机位置,光照和模型的图元输出到管线的下一个主要阶段——几何阶段。
URP整个渲染的主入口在UniversalRenderPipeline,他继承的RenderPipeline,是rsp的渲染流程关键类~
culling的意思是select from a flock,就是“从一群里面选择一部分“。对于3d engine来说,就是要从几十万的triangle之中选择出一小部分送给pipeline进行渲染。
这四种技术本质上都是解决传统渲染管线中的同一个问题——过度绘制(OverDraw) 。一个经典的渲染管线通常会依次经历顶点阶段、光栅化、片元阶段和逐像素处理。其中片元阶段会进行复杂的光照计算,是整个管线的性能瓶颈。而在逐像素阶段会对计算出来的片元值进行各种测试以判断这个片元会不会最终显示到屏幕上。
PowerVR开发工程师Dihara Wijetunga简要介绍了Unity高清晰度渲染管线(HDRP)。
通过SRP可以实现对渲染管线的完全控制,它提供了需要的工具来创建符合项目需求的渲染管线和效果;通过在C#脚本中定义一系列的命令来控制每一帧的渲染过程,和传统内置管线不同,它开放了更多的接口,给了开发者更大的自由度,但是又不至于像OpenGL手写管线那么复杂,可以很好满足开发者既需要自定义管线又要简单快捷的开发需求,降低了渲染管线的开发门槛。
渲染是最终使图像符合3D场景的一个阶段,通俗点来说就是把前期做好的各种模型、效果或动画的片段结合在一起,在这些过程中必然会涉及到复杂的特技和效果,以目前的计算机运算能力很难达到实时显示,所以要在编辑完图形图像后,通过调整修改得到我们所需要的最终效果进行输出,也就是渲染。
渲染管线也称为渲染流水线或像素流水线或像素管线,是显示芯片内部处理图形信号相互独立的的并行处理单元。在某种程度上可以把渲染管线比喻为工厂里面常见的各种生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。
相对于 CPU 来说,GPU 能干的事情比较单一:接收提交的纹理(Texture)和顶点描述(三角形),应用变换(transform)、混合并渲染,然后输出到屏幕上。通常你所能看到的内容,主要也就是纹理(图片)和形状(三角模拟的矢量图形)两类。
本文档将讨论Unity高清晰度渲染管线。我们将研究管道中的一些渲染技术,以帮助您熟悉内部结构,然后在移动设备上可用。