打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
图形编程的基础知识

以下是本人这段时间学习计算机图形学的读书笔记,本篇讲的是概念。

1. 渲染流程(pipeline)

国内的一些资料常将pipeline直接翻译为“管线”,一开始我看得云里雾里的,看了很多资料后发觉pipeline说的不就是图像渲染的步骤么?所以我更愿意按自己的理解把pipeline称为渲染流程。渲染流程,顾名思义说的就是计算机生成图像的步骤,按照概念上的理解我们把渲染流程分为三个阶段:


1.1 应用阶段

这个阶段主要做三件事,准备场景数据(模型、光照等等),把视野范围外数据剔除,设置好模型的渲染信息(材质、纹理等),最后输出渲染图元,一般来说渲染图元就是点、线、三角面等数据。这个阶段由CPU负责。

1.2 几何阶段

当收到渲染图元后,进入几何阶段,这个阶段对渲染图元进行操作,进行各种坐标变换(比如顶点坐标变换为屏幕坐标)和定点信息配置(如计算每个定点的深度值、着色),最后输出屏幕空间的二维顶点的坐标、深度值、着色等数据。这个阶段由GPU负责。

1.3 光栅化阶段

这个阶段负责完成最后的工作,根据屏幕空间的二维顶点数据,在屏幕上操作每个像素点绘制图形。这里补充一下,什么是顶点,顶点可以理解为三维空间里的一个点,三个点构成一个三角形,而许多三角形就可以构成一个完整的模型,在很多模型制作软件中我们都可以在点、线模式下看到模型是由许多三角形构成的。刚才已经说了,三个顶点构成一个三角形,可以想到在三角形内还有许多个屏幕像素点,而几何阶段输出的顶点数据中并没有这些像素点的数据,这些像素点最终的输出是根据顶点数据进行插值计算得来的。这个阶段也由GPU负责。


2. 硬件上的具体操作

刚才介绍了概念上的渲染流程,现在看看与之对应的这几个阶段硬件具体在做什么。

2.1 应用阶段

2.1.1 CPU把数据加载到显存中
2.1.2 CPU设置渲染信息
2.1.3 Draw Call(CPU告诉GPU开始一次渲染过程,非常重要的概念进行Unity3D优化时常常提到)

2.2 几何阶段和光栅化阶段

这个阶段的工作可以看以下流程图

绿色表示该步骤是完全可编程控制的,黄色表示可以配置但不可编程,蓝色表示不可以编程、配置,实线表示该Shader必须由开发者编程实现,虚线表示该Shader可选。在Unity3D中,我们经常编写的Shader文件代码,多数是顶点着色器和片元着色器。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
GPU编程技术
为让女性角色更生动,GPU竟在游戏中做这些事儿
3D图形渲染管线
《Real Time Rendering》第二章 图形渲染管线
初中几何综合压轴18专题——Y形与共顶点模型
中考数学规律总结 几何中图形生长变化规律及与坐标有关规律
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服