接着和大家分享UE4的软件开发教程,下面要讲的是避免过度渲染的方法。
避免过度渲染
远景平面渲染的主要问题在于,它最小化像素着色器开销带来的性能开销节约,可能会被立体层和平面层之间缺乏互相遮挡给浪费掉。
由于我们并不会为那些离摄像机比较近的物体进行平面渲染,那些在进行最终场景整合之后并不会被看到的远景部分,依然会在平面缓存中被着色,因为没有什么东西来遮挡它。
为了避免这个问题,我们选择先渲染立体部分,再读取它们的深度缓存,并计算它们的交叉。
所有在左眼和右眼摄像机被同时渲染过的像素,都会被写入远景平面的深度缓存中,来避免它们在平面摄像机中进行渲染。
最终结果如下图:前面立体视觉下的大柱子,在平面缓存中被遮挡掉了,确保了后面的像素不被渲染。
纯立体缓存
经过场景整合后的平面缓存
网友评论