此文信息主要摘自 Adrian Courrèges 同学的 GTA V - Graphics Study 系列 (1,2,3),俺昨晚从笔记拷出来时,给 Adrian 同学发了一封邮件,请他允许我 reblog 一下。在得到 Adrian Courrèges 同学的同意后,俺就放上来了。本文信息提炼后,去掉了绝大部分科普,如有不适,请配合原文的更多细节。环境渲染最外层的 cubemap 是每一帧实时生成的,目的是简化后续真实反射的渲染。这个 cubemap 是一张低精度的 128*128 纹理,每个面 30 左右 drawcall,都是地表天空等较大像素贡献的多边形全部是静态物体,所以车辆的外壳反射不了其他的车和角色这个 cubemap 随后被转成了双抛面图 (Dual-Paraboloid Map),投影过程类似球面映射,这样的话相关 PS 开销就从 6 个面降到了 2 个面 (一上一下,各 128*128),由于摄像机一般在车顶斜后方45度,反射的绝大部分时间都只用访问朝上的那个面,如果用 cubemap 就是 3~4 个面。整体来看,图像质量上四个侧面受影响最大,顶面和底面保留最多,由于摄像机看到的车顶通常反射顶面,所以效果损失很小主渲染流程GTA V 的主渲染流程输出到 5 个 RT 并汇入最终的每个像素,透明物体后期另行处理。五个 RT 分别是 Diffuse/Norma
...
继续阅读
(7)