图像从程序到GPU再到屏幕显示的流程:GPU渲染管线

1. 模型坐标变换

这个阶段主要是将各个物体的建模坐标系转换到世界坐标系。在程序中不同物体他们建模坐标系是不一样,有些适合球坐标有些适合直角坐标。但是为了将他们整合在一起,最终程序需要将他们转换到世界坐标。在游戏里面你开第一人称视角,那就是以你为原点设计了一个建模坐标系,但是你开枪击中别人以及你位于地图哪个位置。这些都是需要转换到世界坐标中统一进行计算
在这里插入图片描述

2. 视图变换

虽然经过步骤1可以把所有物体都转换到统一的世界坐标。但是这些物体在屏幕上显示的只是某个视角的所观察到的。你打游戏开第一人称视角,移动鼠标就能看到不同的场景,不同的角度看到物体所在的位置是不一样的。这个就是视图变换的作用。当然到底要变换到怎样的视角不同的标准中是不一样的。
在这里插入图片描述

3. 顶点着色,曲面细分

在前面两个步骤虽然确定了各个物体在视图中的位置。但是并没有确定模型各个点的颜色。这个步骤就需要根据设置的颜色或者光照效果等属性来确定某个顶点的颜色。这个顶点颜色会被后面的光栅化操作使用,因为我们看到的是面而不是顶点。光栅化就是要根据顶点的颜色等属性计算出某个区域的颜色属性。曲面细分就是原先的模型可能就是一些稀疏的顶点构成,需要对这些稀疏的点进行插值。使得点变得更密集。
在这里插入图片描述
着色器语言主要是需要显卡提供驱动,一般是适配OpenGL或DirectX的驱动。
在这里插入图片描述
在这里插入图片描述
着色器语言一般是文本形式,不会对它进行编译。是到运行的时候GPU才编译执行它。
在这里插入图片描述

4. 裁剪

屏幕有大小,所以要对图像进行裁剪。只显示适合屏幕大小的图形。

5. 光栅化

在这里插入图片描述

6. 片元融合

在步骤5中已经得到了某个区域的颜色和深度值等信息。但是有时候会多个物体相互重合,比如某些透明物体重合。那么我们需要对重合部分进行融合计算。
在这里插入图片描述
总结下前面几步的关系,先是得到顶点,然后得到三角形,然后对三角形进行分片。然后对分片着色,最后对重合的片元进行颜色融合。
在这里插入图片描述

参考文献:
[1] 计算机图形学

转载于:https://www.cnblogs.com/ailitao/p/11047278.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值