小奶猫樱桃 RTX 30 系显卡后,你能得到什么?,升级「真香」的

9月2日 , Nvidia终于发布了大家翘首以盼的RTX30系列(安培架构)的显卡 。 尤其是RTX3070 , 比起上一代的显卡王者RTX2080Ti , 在游戏里平均帧率高出8%的基础上 , 价格却低了整整一倍 。
虽然通过Steam最新的显卡数据来看 , GTX10系在PC玩家群体中依然是主流 , 随着下半年游戏潮的到来 , 《赛博朋克2077》《看门狗:军团》《消逝的光芒2》等等支持实时光追的游戏会越来越多;加上即将到来的「双十一」购物季 , 对于老用户、尤其是坚守在10系显卡的用户来说 , 剁手升级的时间似乎已经到了 。
那么什么是实时光线跟踪 , 传统游戏是怎么打造光照效果的 , 升级RTX显卡能带来什么 , RTX30系列的实际性能到底如何?在这篇文章中 , 我们就来对上面这些问题进行梳理 。
根据初中所学习的生物和物理知识 , 我们之所以能看见东西是因为光源发出的光在传播中遇到了不同材质的物体 , 产生了反射、折射、漫反射、散射等光学现象 , 这些不同的光学效果带来的最后一部分光刺激到了人眼视网膜上的感光细胞 , 我们才得以看到不同颜色的物体 。
所以不同材质的物体从相同角度来看给我们的观感不一样 , 相同材质从不同角度看过去的感觉也会不一样 。 在没有光或者光线很暗的时候 , 我们也很难看清楚东西 。
小奶猫樱桃 RTX 30 系显卡后,你能得到什么?,升级「真香」的
文章图片
真实环境的光线远比游戏复杂图片来自@unsplash
和现实世界不同 , 传统的游戏世界在重现这种光照效果时更加注重「最终效果」 。 我们不妨从两个方面来理解传统游戏世界的光照实现方式:
P.S.我并非专业游戏开发从业者 , 也对图形学没有深入研究 , 所以只能简单地介绍下原来游戏里是怎么处理光线的 , 如果我有哪方面解释错误欢迎大家在评论区指正 。
首先 , 现代3D模型实际上都是通过三角形构成的 , 这是因为:
同时三角形的面数决定了模型的精细程度 , 模型精度越高 , 三角形数目也就越多 , 性能开销也就越大 。
小奶猫樱桃 RTX 30 系显卡后,你能得到什么?,升级「真香」的
文章图片
由三角形构成的模型 , 越复杂的模型也越精细
接下来 , 我们要知道什么是「光栅化」 。
由于我们的屏幕是一个二维的平面 , 但是大部分的游戏模型却都是三维的 , 为了能让三维的模型正确显示在二维平面上 , 我们就需要通过一系列的过程去转换它们:
小奶猫樱桃 RTX 30 系显卡后,你能得到什么?,升级「真香」的
文章图片
光栅化工作原理
这个整个过程我们就叫它「光栅化」 , 通过「光栅化」我们就可以完美地将创作者想要呈现的画面呈现出来 , 同时游戏里的光的实现也是在「光栅化」这个过程里实现的 , 只需要对三角形内部的像素进行额外的上色步骤即可:
首先模型的三角形都有对应的固有颜色(皮肤有固有的肤色、头发有固有的发色) , 所以将模型转化到二维像素以后 , 可以通过每个三角形的颜色为每个屏幕上的像素分配一个初始颜色值 。 接下来要根据场景里的其他光源来进一步的像素处理来改变像素的颜色 , 最后还需要根据纹理(皮革有皮革的纹理 , 布料有不同的材质)对像素做最后的处理 , 进而生成应用于像素的最终颜色 。
我知道这个过程对大多数人来说都很抽象 , 我换个更生动形象的说法来说 , 基于光栅化的游戏光线处理 , 实际上是你看到的画面里所有的物体在自行发光 , 而不是和生活中一样通过折射、反射等手段传递光线 。 这也就是我们在上面所说的以渲染「最终效果」为主要手段 。
光栅化的优点在于可以足够快 , 程序员可以预先写好光线的程序来处理小面积的光线 , 还可以制作光照贴图 , 在需要的时候和环境再进行渲染呈现(静态光照效果)来减少处理压力;但是缺点也很明显:不够真实 , 比方说游戏中的物体投影大部分时候都是一整块颜色相同的区域(阴影贴图) , 但是我们仔细观察生活会发现由于光的复杂性实际上的投影由近到远是越来越浅的 。