聚光灯效果:
在第一章我们提到过,在一帧生成的初始阶段是不存在车辆建模的,仅仅是显示了基准的建筑和山丘,那么在这种情况下,如果顺利地显示车辆灯光通过地表而造成的反射效果呢?用下面这张夜景图来分析较为明显。
在之前的图片中(麦克那张)灯光地表反射效果并不明显,因为在那里所有G缓冲区的内容都直接融合了,同时白天的缘故也无法表现明显的聚光灯效果,在夜晚时,每个光源都需要绘制一个单独的网构架,这个构架是不直接在画面中显示的,只是为了在覆盖所有光源的同时进行区域划分,最后用像素着色器来根据网构架内像素的距离来计算物体和光源的距离、法线以及光泽度/高光等属性,来实现动态的光反射计算。
图像中的网构架图:
R星在这里采用的是延迟管线技术,这是为了减少像素着色器的工作量,相较于传统的前渲染管线来说,延迟管线技术仅仅渲染画面中被光源影响到的像素点,而老式的前渲染管线中,无论是否受光照影响的像素点都会被计算在其中。
R星针对《GTA5》进行的优化工作不得不让人佩服,这也是让许多较为老旧的PC能够运行游戏的重要原因,敬请期待开发课程的最后一课——后期效果处理。
>>延伸阅读:玩游戏涨姿势 《GTA5》一帧画面是如何制作的
(来源:gamesky编译/作者:Adrian 编辑:dcy)
0