PS4pro 所谓棋盘渲染到底是什么概念 ?

原创 网络  2018-02-02 20:40:42  阅读 215 次 评论 0 条

写在前面:

必须先说明本回答从其视觉原理出发而对技术细节未有描写,希望大家看了回答能对棋盘格渲染这个概念有个直观的了解。据知乎用户YT IM大萨比的回答透露,PS4pro 的插值方式也许在棋盘格渲染基础上保留了更多的 3D 信息来更好地优化渲染图像,达到更佳的视觉效果。

正文:

并非 PS4pro 独有,其他游戏,例如彩虹六号围攻在 PC 上的渲染技术也使用了棋盘格渲染Checkerboard Rendering Technique)可以在画面选项中开启:

PS4pro 所谓棋盘渲染到底是什么概念 ?第1张-无忧岛网

这里的 " 页框交错过滤 " 就是这个技术。而 TXAA 其实就是结合了反锯齿的页框交错过滤,开 TXAA 2X 已经能达到欺骗肉眼的效果了。

那么这个棋盘格渲染到底是怎么回事?

这是一种把低分辨率插值成高分辨率的一种画面拉伸技术。

首先要注意:很多人会混淆插值和拉伸,但严格来说它们不是同一个概念,我们先把它们理理清楚。

光栅图像(位图)拉伸画面(Upsampling),意味着需要更多的像素去填充增大的空间。

这就是插值(Interpolation)

图像处理早期,插值的方式就是简单地用邻近像素填充拉伸后的画面(Neighbors Interpolation)

例如电子游戏早期时代,大部分游戏输出到隔行扫描 CRT 上是只有半场图像的,就像这样:

PS4pro 所谓棋盘渲染到底是什么概念 ?第2张-无忧岛网

放大后

PS4pro 所谓棋盘渲染到底是什么概念 ?第3张-无忧岛网

而实际渲染的画面大小是这样的:

PS4pro 所谓棋盘渲染到底是什么概念 ?第4张-无忧岛网

一帧实际渲染像素其实是 320*240,在电视上拉伸成 640*480 大小的画面(近似比方,实际 MD 的输出是 320*224)

如果在逐行扫描电视上,就会拉伸成这样:

PS4pro 所谓棋盘渲染到底是什么概念 ?第5张-无忧岛网

也就是把每个像素在水平和垂直方向上拉伸了一倍。这是直接拉伸(Nearest Neighbor)的概念。

而进阶的插值处理,需要在像素之间用它们的中间色插补,相比拉伸直接复制相邻像素,这类插值有个计算过程。而计算中间色的方法有很多,这就形成了多种插值方式。

做个模拟,是这样的

水平拉伸,垂直方向线性插值(Linear Interpolation):

PS4pro 所谓棋盘渲染到底是什么概念 ?第6张-无忧岛网

水平和垂直方向都插值(双线性插值 Bilinear Interpolation):

PS4pro 所谓棋盘渲染到底是什么概念 ?第7张-无忧岛网

PS4pro 所谓棋盘渲染到底是什么概念 ?第8张-无忧岛网

(想象一下黑色部分由相邻像素间生成中间值像素插补)

这个插值其实就是电脑模拟器上才有的柔化过滤的功能,看起来比直接拉伸稍微柔和一些。在当时的游戏主机上是没有这个处理的,因为:

一是在 CRT 电视上观察,基本没有区别。

二是插值是为了更保真地再现三维实体映射成二维位图前的画面,这在像素时代没有意义。

HD 分割线

------------------------------------------------------------

到了 HD 时代,在有限的硬件资源和无限的感官要求越来越难以调和的矛盾下,插值的作用就体现出来了,还是拿图说明(手机用户请点开看大图)

原图(488*540):

PS4pro 所谓棋盘渲染到底是什么概念 ?第9张-无忧岛网

为了节省资源,更快地渲染,采用抽线渲染映射成了 244*540 的画面:

PS4pro 所谓棋盘渲染到底是什么概念 ?第10张-无忧岛网

直接拉伸(Nearest Neighbor),锯齿真难受:

PS4pro 所谓棋盘渲染到底是什么概念 ?第11张-无忧岛网

水平方向线性插值(Linear Interpolation),注意地砖边缘,锯齿弱了,但是雕塑还是很不爽:

PS4pro 所谓棋盘渲染到底是什么概念 ?第12张-无忧岛网

怎么办呢?看来硬件不行原生分辨率上不去靠投机取巧还真没办法?

别急,看看这个:

PS4pro 所谓棋盘渲染到底是什么概念 ?第13张-无忧岛网

这张图从垂直方向和水平方向都间隔地抽去像素,实际渲染像素总量也是减少一半。

直接拉伸看看

试试水平拉伸:

PS4pro 所谓棋盘渲染到底是什么概念 ?第14张-无忧岛网

垂直部分边缘出现间隔锯齿。

试试垂直拉伸:

PS4pro 所谓棋盘渲染到底是什么概念 ?第15张-无忧岛网

水平部分边缘出现间隔锯齿,但也比抽线方案强多了(这已经接近彩虹六号围攻的页框交错过滤技术)。

然后看看在所有相邻像素之间取中间色值,插值的效果:

PS4pro 所谓棋盘渲染到底是什么概念 ?第16张-无忧岛网

怎么样,尽管还是有部分瑕疵,但是视觉效果怎么说都舒服多了吧;

放大对比:

PS4pro 所谓棋盘渲染到底是什么概念 ?第17张-无忧岛网

黑色部分像素由相邻四个像素的平均色值生成插补

为了方便理解我采用了一个像素占一个棋盘格的方式插补,在实际的图形渲染技术中还有占 1/4 棋盘格等其他交替插补方式,视觉原理是一致的。

它的优点已经很清楚了,缺点就是在对比过于强烈的边缘会出现交错杂点,所以尽量要与反锯齿技术配合避免强烈的边缘。

拿 ARMA3 来举例(需要点大图看细节)

未经反锯齿处理的情况

原图:

PS4pro 所谓棋盘渲染到底是什么概念 ?第18张-无忧岛网

50% 棋盘格抽取:

PS4pro 所谓棋盘渲染到底是什么概念 ?第19张-无忧岛网

插值:

PS4pro 所谓棋盘渲染到底是什么概念 ?第20张-无忧岛网

在边缘处锯齿更明显了。

经过反锯齿处理的情况

原图:

PS4pro 所谓棋盘渲染到底是什么概念 ?第21张-无忧岛网

50% 棋盘格抽取:

PS4pro 所谓棋盘渲染到底是什么概念 ?第22张-无忧岛网

插值:

PS4pro 所谓棋盘渲染到底是什么概念 ?第23张-无忧岛网

差别小了,细看瑕疵都在对比强烈的物体高光边缘处。

这就是所谓的棋盘格渲染Checkerboard Rendering Technique)的奥妙。

而且例图本身分辨率不高,要是在客厅坐沙发上看 4k 电视,这种插值法是很难看出瑕疵的;

要知道这可比直接渲染要少了一半的像素值啊,而简单的插值运算本身对资源消耗是可以忽略不计的。

也就是说可能带来大量的帧数提升!毕竟 60 帧才是起码的正义。

------

2016/9/29 补充更新题外知识点

在棋盘格插值渲染之外我们常用的除了线性插值(Linear Interpolation)、双线性插值(Bilinear Interpolation)和三线性插值(Trilinear Interpolation)外还有双立方插值(Bicubic Interpolation)

它们也通常出现在 3D 游戏的贴图处理领域,称为贴图过滤。

这是 50% 的双立方插值(Bicubic Interpolation):

PS4pro 所谓棋盘渲染到底是什么概念 ?第24张-无忧岛网

很熟悉的朦胧感吧,它的计算会比较慢一些。其实双立方插值就是目前主流图片处理软件缩放图片的默认处理方式。

------

例图是 MD 上的 Final Fight CD

以及 Carlo Scarpa 设计的 CANOVA SCULPTURE GALLERY 扩建工程

和 ARMA3

所有插值效果图片都是本人手工用 PS 算出来的(计算机处理会有更多的优化方式,原理大同小异,也从侧面说明插值算法非常省资源)

商用平台转载需本人同意,论坛转载保留作者出处即可。

 

百度输入无忧岛即可找到本站

本文地址:http://wydclub.com/index.php/post/15013.html
版权声明:本文为原创文章,版权归 网络 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?