超越一切!《星际争霸2》引擎技术解析
暴雪还将对这些不同的设定做更为细致的讨论,这样才能让玩家体验到不同的技术效果的运用。
屏幕基础效果
作为Starcraft II的另一个设计目标,照明环境模式让游戏的互动更多,之前在魔兽争霸三中,每个单位有一个硬性限制,有多少亮度,可能会影响它在任何特定时间。出于这个原因,使用动态照明是相当微不足道的,但是在Starcraft II中每个单位有一个照明设备,当其中一个开启之后其他也会开启,这样效果非常好,但是由此带来的地图的设计和绘制,包括地图地形切片就成了相当复杂的问题。而即便是解决了这些,给GPU带来的负荷也是巨大的。
针对于此,暴雪也做了很多限定 :
◆ 颜色组成部分,并不受当地照明,如发射、环境地图和点燃前期的彩色组成部分;
◆ 深度;
◆ 每像素正常;
◆ 如果使用静止环境闭塞,出口的环境闭塞的纹理被忽略,如果屏幕空间环境闭塞启用;
◆ 亮灯的弥漫物质的颜色;
◆ 亮灯的镜面材料的颜色。
解码缓冲器
所有的缓冲器应该都使用相同的深度,不幸的是似乎这些缓冲器远远不能满足暴雪的需要,这些缓冲器以24字节每像素推动输出带宽,这样使得整个带宽明显不足,因此在安置光源的时候必须牺牲一些。
为了向MRTs提供每像素值以保证用于各种的效果,因而以下必不可少:
◆ 深度值为照明、雾卷、动态环境闭塞和智能景深,预测,边缘检测和厚度测量;
◆ 平均值为动态环境闭塞;
◆ 弥漫性及镜面照明。
延迟渲染
在Starcraft II中延迟渲染只适用与当前的渲染,包括灯光的点和散射出去的面都要再渲染,但是由于游戏中会出现很多的照明设备,如果都使用这样的方法渲染的话一定会造成画面过于缓慢,因此延迟缓冲器的出现也解决了这一难题。在延迟渲染和着色方程式的帮助下计算机能很快的绘制出不同形式或者更为复杂的光源,这样也为其他的计算提供了一个后处理的过程。
像素坐标重建
受益于早期的样板,暴雪在设计新的形状和色彩的时候轻松了不少,而且同时还释放了CPU。
相机原理我们都知道了,就通过这样的模式使得暴雪在视觉上更了解该如何设计。