UE4開發(fā)VR軟件教程 避免過度渲染
接著和大家分享UE4的軟件開發(fā)教程,下面要講的是避免過度渲染的方法。
避免過度渲染
遠(yuǎn)景平面渲染的主要問題在于,它最小化像素著色器開銷帶來的性能開銷節(jié)約,可能會(huì)被立體層和平面層之間缺乏互相遮擋給浪費(fèi)掉。
由于我們并不會(huì)為那些離攝像機(jī)比較近的物體進(jìn)行平面渲染,那些在進(jìn)行最終場景整合之后并不會(huì)被看到的遠(yuǎn)景部分,依然會(huì)在平面緩存中被著色,因?yàn)闆]有什么東西來遮擋它。
為了避免這個(gè)問題,我們選擇先渲染立體部分,再讀取它們的深度緩存,并計(jì)算它們的交叉。
所有在左眼和右眼攝像機(jī)被同時(shí)渲染過的像素,都會(huì)被寫入遠(yuǎn)景平面的深度緩存中,來避免它們?cè)谄矫鏀z像機(jī)中進(jìn)行渲染。
最終結(jié)果如下圖:前面立體視覺下的大柱子,在平面緩存中被遮擋掉了,確保了后面的像素不被渲染。
純立體緩存
經(jīng)過場景整合后的平面緩存