渲染流程分为3个阶段,从一个三维场景出发

渲染流水线的工作任务在于由一个三维场景出发、生成(或者说渲染)一张二维图像。换句话说,计算机需要从一系列的定点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以识别的图像。而这个工作通常是由cpu和gpu共同完成的。
渲染流程分为3个阶段:
• 应用阶段(application)
• 几何阶段(geometry stage)
• 光栅化阶段(rasterizer stage).
注意,这里仅仅是概念性阶段,每个阶段本身通常也是一个流水线系统,即包含了子流水线阶段下图显示了3个概念阶段之间的联系。
应用阶段
从这个名字我们可以看出,这个阶段是由我们的应用主导的,因此通常由cpu负责实现,换句话说,我们这些开发者具有这个阶段的绝对控制权。
在这个阶段中,开发者有3个主要任务:
首先,我们需要准备好场景数据,例如摄像机的位置、视锥体、场景中包含了哪些模型、使用了哪些光源等等;
其次,为了提高渲染性能,我们往往需要做一个粗粒度的剔除(culling)工作,以把那些不可见的物体剔除出去,这样就不需要再移交给几何阶段处理;
最后,我们需要设置好每个模型的渲染状态。
这些渲染状态包括但不限于它使用的材质(漫反射颜色、高光反射颜色)、使用的纹理、使用的shader等。这一阶段最重要的是输出渲染所需要的几何信息,即渲染图元(rendering primitives)、通俗来讲,渲染图元可以是点、线、三角面等。这些渲染图元将会被传递给下一个阶段——几何阶段。
几何阶段
几何阶段用于处理所有和我们要绘制的几何相关的事情。例如,决定需要绘制的图元是什么,怎样绘制它们,在哪里绘制它们。这个阶段通常在gpu上进行。
几何阶段负责和每个渲染图元打交道,进行逐定点、逐多边形的操作。这个阶段可以进一步分成更小的流水线阶段,几何阶段的一个重要任务就是把定点的坐标转换屏幕空间中,再交给光栅器进行处理。通过对输入的渲染图元进行多步处理后,这一阶段将会输出屏幕空间的二维定点坐标、每个定点对应的深度值、着色等相关信息,并传递给下一个阶段。
光栅化阶段
这一阶段将会使用上个阶段传递的数据产生屏幕上的像素,并渲染出最终的图像。这一阶段也是在gpu上运行。光栅化的任务主要是决定每个渲染图元的哪些像素应该被绘制在屏幕上。它需要对上一个阶段得到的逐顶点数据(例如纹理坐标、顶点颜色等)进行插值,然后再进行逐像素处理。

小米手机这6个实用功能很多人都不知道
有这样的大屁股 战斗机就厉害了!
特斯拉股票上涨已使空头账面损失达到40亿美元
华为麦芒6发布会最新消息:华为首款全面屏华为麦芒6今日发布,或撬动主流手机市场格局
能否用MCU访问非标准SPI接口?
渲染流程分为3个阶段,从一个三维场景出发
当AI融入到工作中 未来将是一个人工智能优先的世界
智能音箱是2018年成长力道最强劲的终端消费性产品
怼死你不偿命!盘点2016年的八大专利纠纷事件
冷静看待人工智能,千万别掉进“坑”了
人脸识别如何做到更快更准?
模拟电路故障原因与诊断方法
Profinet转Modbus TCP网关连接搬运机器人配置案例
长虹激光电视C5U解决了屏幕尺寸与色彩问题
Google已经推出了17种语言的免费培训课程
华为云 828 营销季收官倒计时,中小企业上云机不可失
如何与施耐德电气M580建立OPCUA通讯
自我监督学习将是AI技术的未来发展方向
精度最高的探测仪器LIGO,你了解多少?
苹果iPhone12屏幕全网绿的可能原因