當前位置:
首頁 > 科技 > 是什麼蒙蔽了你的雙眼?是環境光遮蔽(一)

是什麼蒙蔽了你的雙眼?是環境光遮蔽(一)

平時咱們玩遊戲、調整特效的時候,總是能在設置中看到一個叫環境光遮蔽的東西,它到底是什麼?有什麼作用呢?我們今天就來看看吧~

環境光遮蔽全稱為AmbientOcclusion,簡稱「AO」,最早在2002年的Siggraph大會上,由ILM工業光魔公司的技術主管Hayden Landis向公眾展示。ILM就是拍《星球大戰》的那個喬治·盧卡斯的創建的公司,這不禁讓人想到英偉達的RTX(實時光線追蹤)演示片也是星球大戰,歷史總是充滿偶然與必然。

AO技術的最終目的也就是讓光影效果更逼真,實現全局光照(AO只是實現方式之一)。它用於表現東西之間對漫反射光線的遮擋,如果我們玩遊戲的時候,可能會能看到很多建模本身不那麼真實,那麼用了AO以後,東西之間距離越近就會有越明顯的陰影,從而增加了層次感、真實感,讓我們玩兒起來更投入。

比如這張對比圖中,左邊只有單一的光照和陰影,是不是依舊感覺很不立體呢?而右邊開啟了AO之後,物體接觸的地方就有了加深的環境陰影,瞬間就感覺逼真起來了。

其實現在顯卡廠商們在努力研發的「實時光線追蹤技術」也是另一種實現全局光照的方式,它不止是模擬簡單的光照,更要展現各種物體之間的反射、折射,十分複雜,所以效果會比AO出色的多。從2005年Vista誕生開始就已經支持,但消費級顯卡性能有限、這麼多年了也難以實現。

早期AO都被用在各種3D軟體上(比如3D Max、MAYA),而特效電影則是我們最容易接觸到它的地方。因為需要預渲染、速度慢,並沒有在遊戲中使用AO。

但這並不代表遊戲中沒有相關技術,比如2004年的《半條命2》中使用了Radiosity Normal Maps,《潛行者》中也用到了GI全局光照,而Crytek當時還在開發某個知名遊戲,他們使用了Real-Time Ambient Map(RTAM-實時環境光照貼圖)技術。

其實說到AO,相信大家早就想到了眼熟的「SSAO」,SSAO是在DX10.1 API推出後對原來AO的進化版,意思是「屏幕空間環境光遮蔽」(Screen-SpaceAmbient Occlusion)。沒錯,它最早就運用於那個咱們熟知的、Crytek開發的「顯卡危機」《Crysis》中,由RTAM升級優化而來,並命名為SSAO。

與AO不同的是,SSAO可以通過GPU的著色器(Shader)進行實時渲染,它不用預處理、全程由GPU負責、渲染速度快,但因為它建立於可見點之間的採樣,只能渲染出近似的效果,精度不如AO,並且不可見點偶爾會有錯誤結果。

即便如此,它依舊是可行度非常高的技術,極大幅度提高了觀感,如今支持SSAO的遊戲也已經很多了,許多3D遊戲都可以開啟,不同的遊戲引擎對其演算法未必相同,所以效果也有區別。那麼對於玩家來說是否應該開啟環境光遮蔽呢?如果你熱衷於電競、對畫面延遲比較敏感,那麼建議關閉;如果你只想好好體驗遊戲、提高觀賞性,那麼顯而易見能開就開。

除了SSAO以外,還有SDAO、SSBC、HDAO、PBAO、VXAO等許多環境光遮蔽技術,不知道你最喜歡用哪種呢?


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 極客灣 的精彩文章:

你的顯示器老了嗎?聊聊同步技術的前世今生
藍綠大廠搞創新?OPPO FIND X發布!

TAG:極客灣 |