您現在的位置是:首頁 > 藝術

實時渲染:實時、離線、雲渲染、混合渲染的區別

由 渲大師渲染 發表于 藝術2022-07-20
簡介但是,我們通常對於雲渲染的理解,一般都是在雲端完成實時渲染的場景

計算機渲染的意思是什麼

渲染,就是將3D模型轉換成2D影象,並最終呈現在螢幕上的過程。雖然這裡只有一句話,但是這一句話裡面包含了太多的數學、物理和計算機方面的知識,它描述了我們用計算機來虛擬化真實世界的基本邏輯。渲染過程是需要計算機進行運算且消耗時間的。

不同的渲染分類,會用到不同的渲染引擎。比如實時渲染我們一般會用到Unity和Unreal,離線渲染我們會用到V-ray和Keyshot。但是這些技術和引擎產品都是相通的,所以Unreal的實時渲染能力也可以部署在雲端,成為雲渲染的體現。雖然,由於使用場景的不同,引擎本身的渲染演算法都有自己的特點和優勢。但是,隨著硬體計算能力的發展,它們的界限也慢慢變得模糊。

常見的渲染型別有以下幾種:

實時渲染、離線渲染、雲渲染、混合渲染。

它們中間有重疊交叉,也有技術區別。我們避免太多的專業性描述,嘗試用淺顯易懂的方式來進行解釋。

實時渲染

實時渲染(Real-time Rendering)從字面的意思非常容易理解,就是我們要實時的看到渲染之後的3D物體或者場景的效果。實時,用數字怎麼理解?至少24FPS:只有達到或者超過1秒鐘播放24張連貫影象的速度,人眼觀看時就不會形成卡頓的感覺。

一般的實時渲染場景都是帶有強互動屬性的,比如最常見的3D遊戲《王者》《吃雞》,或者是一些帶有互動的3D應用,比如智慧城市、智慧園區的視覺化專案。實時渲染的場景中,這些應用都會獨立執行在我們的電腦、手機上,透過本地的硬體能力完成實時渲染的過程。因此,玩大型遊戲的話,硬體效能一定要好。

離線渲染

離線渲染(Offline Rendering)這個從字面意思理解,好像就是“斷網”之後再做渲染,但是這種理解是不對的。

離線渲染是跟實時渲染相對應的,簡單說就是我們不需要實時地看到渲染效果的場景。

這種場景最常見的就是我們的家裝效果圖。做過裝修的小夥伴應該都知道,如果讓設計公司出效果圖一般都是要收費的(有些為了吸引客戶當然也會免費),他們其實就是在做離線渲染的工作。

那為什麼我們不能實時地去渲染一張效果圖,反而要用離線渲染的機制呢?這就要看最後的渲染效果到底要多高了。

實時渲染,雖然渲染速度快,可以實時生成渲染內容,但是渲染的效果和真實度相對來說是不可能特別高的。對於離線渲染的場景,基本都是對渲染要求非常高的,甚至是完全真實的。

比如剛才提到的家裝效果圖,你可能不需要立刻看到渲染圖,但是如果看到的時候,發現效果不好,就可能要換其他設計公司了。

另外一個最常見的就是好萊塢影視大片、3D動畫等影視場景。他們都需要達到一個非常逼真的渲染效果甚至是完全真實的場景復現,但是對實時性要求不高。

所以,一般的好萊塢大片,尤其是特效非常好的那種,拍攝完成後的製作週期都非常長。比如我們耳熟能詳的《阿凡達》,當時動用了40000顆CPU,104TB記憶體,10G網路頻寬,整整離線渲染了1個多月。

說到這大家應該會有一個疑問了,怎麼可以用到40000顆CPU來進行渲染呢?什麼電腦能有這麼多CPU呢?其實這就是離線渲染在概念上,容易讓人誤解的地方:離線渲染大多數情況反而恰恰是線上的。

通常情況,如果我們在做家裝效果圖,是可以用自己的一臺普通電腦去進行渲染製作的,但是自己的電腦硬體配置肯定不會特別好。

因此,完成整套渲染計算的過程到最終出圖是需要很長時間的,當然電腦硬體越好,時間越短。

如果是專業的設計團隊,雖然是需要運用離線渲染達到很高的渲染效果,同時肯定也是希望出圖的時間越短越好。

因此就出現了一種新的離線渲染形態:渲染農場。說到渲染農場相信很多人都不陌生,它就是在雲端買了很多渲染伺服器,這些伺服器可以搭建成千上萬顆CPU或者GPU的叢集,來專門服務那些需要快速完成離線渲染的使用者。

這就是為什麼《阿凡達》的渲染會用到那麼多CPU的原因,當然現在基本都是採用GPU來進行渲染工作了。渲染農場其實就是搭建了渲染伺服器叢集,那當然就是線上的了。所以說,只要提到渲染農場,它是離線渲染場景中的一種渲染形式,但是實際上它恰恰是線上的。

雲渲染

雲渲染(Cloud Rendering),這個從字面意義理解就是在雲端完成渲染的意思。但是為什麼上面講到渲染農場的時候,並沒有特意強調它就是雲渲染呢?

其實如果按照渲染髮生的節點來說,渲染農場這種離線渲染就是屬於雲渲染範疇的。但是,我們通常對於雲渲染的理解,一般都是在雲端完成實時渲染的場景。上面我們提到的實時渲染大部分時候都是在我們自己本地的電腦或者手機上完成的,因此對於終端硬體的要求是比較高的,不讓“卡頓”肯定是無法避免的。

雲渲染的出現就是為了解決這個問題:

讓硬體效能不太好的終端也可以實時的渲染效果不錯的3D內容。

雲渲染的基本原理是,把所有的3D渲染工作都交給雲端。渲染完成後,編碼成為影片實時地傳送給我們的客戶端,客戶端就變成了一個影片播放器,對影片流進行解碼和播放,這個過程中可以監聽一些滑鼠和鍵盤操作,來完成互動功能。

這樣大量的三維資料和美術資源不用安裝到我們的手機或者電腦的客戶端,而是全部在雲端完成渲染,客戶端只要具備看影片的效能,就可以體驗具有比較好渲染效果的3D應用。對於大眾來說,手機裝置不用特別高配,就可以體驗效果很好的遊戲,而且手機一般也不會發燙了。目前雲渲染的場景主要也是體現在遊戲場景中,即雲遊戲。當然還包括一些對渲染質量要求比較高的3D視覺化或者數字孿生專案。

說到這裡,大家對於實時渲染,離線渲染和雲渲染這三種不同的渲染形式,應該有基本的理解了。其實說到渲染本身,就是一個數學演算法在計算機上的運算過程。它們都有各自的優劣和使用場景:

01、實時渲染

追求渲染速度,要求比較強的互動體驗。所以即便在客戶端硬體效能較高的情況下,也要做大量的數學演算法最佳化,在不是特別降低渲染效果的同時,減少渲染時間,達到很好的實時性互動。

02、離線渲染

追求渲染質量,不要求實時性和互動性。追求的是極致的渲染效果,達到以假亂真的體驗。因此就用最極致最優秀最貼近真實物理原理的渲染演算法,來進行真實度極高的渲染過程。透過渲染農場的雲端計算能力,儘量地減少渲染時間。

03、雲渲染

追求相對較高的渲染質量同時,也要達到實時性要求。所以雲端算力的部署和排程的能力要求會更高,讓客戶端配置不高的使用者透過雲渲染也能體會到不錯的3D應用。

實時渲染:實時、離線、雲渲染、混合渲染的區別

推薦文章