天天看點

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

作者|躺平技術-3D技術與渲染平台組

編輯|橙子君

出品|阿裡巴巴新零售淘系技術部

天貓618宣布的 3D 購物時代,相信有很多小夥伴好奇,這背後有哪些“黑科技”?橙子從以下三點為你揭秘——3D實景複刻、3D渲染、3D算法,上周講了《天貓618宣布開啟3D購物時代,實景逛街背後的技術是這樣實作的》,本期将和大家分享 AceRay 極速渲染。

5月28日,天貓正式宣布開啟3D場景購物時代,3D實景逛街從此走到了電子商務的最前線。使用者足不出戶便可逛各大賣場,在虛拟3D世界中,更可以享受自由搭配家具的暢快感受。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

3D實景逛街意味着線下的賣場所有資料需要3D數字化,這涉及到3D内容生産,資料鍊路整合,3D渲染技術等多個領域,是一項規模浩大的工程,需要設計師,工程師,以及産業鍊方面的通力合作才能做到。

躺平設計家是阿裡巴巴淘系技術部聯合躺平推出的為商家和設計師服務的免費3D設計工具和渲染服務,是一個能夠高效生産3D内容的平台工具。其中最新推出的依托于淘系技術部AceRay雲渲染平台的極速渲染功能,大幅度提高了設計預覽的速度,可以助力各商家和設計師更友善快速地制作3D内容,更好地融入3D場景化購物這一未來家裝購物模式。

在躺平設計家裡,使用者可以非常友善地編輯3D場景,并利用極速渲染快速檢視渲染效果。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結
預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結
預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

AceRay 極速渲染雲平台涵蓋了大量的工程化設計和最新幾何/渲染研究成果,包括3D資源的處理,伺服器資源排程,以及圖形渲染算法。

3D資源

在進入到渲染前,需要提前準備好渲染資源,這些資源包括模型、材質。

家裝行業的業務複雜度很高,需要支援大量不同格式模型上傳,同時需要為各個平台産出模型和材質。不同格式模型上傳需要轉成中間格式;目前家裝模型通常三角面數都是非常高,需要通過幾何優化手段把面數降下去;家裝模型中的貼圖通常都非常大,需要根據各個平台優化貼圖;等等。

為了處理各個不同的問題,需要大量的伺服器處理各個不同的問題,但是這些伺服器怎樣串通起來,怎樣合理的排程能夠使得這些伺服器的綜合效率最高,各個伺服器間怎樣并發處理大量的模型,為各個平台産出不同的模型格式,需要一個管控平台來處理這些問題。是以我們開發了模型中控平台,支援無上限送出模型,同時并發處理大量模型,為每個模型定制不同的處理流程,能夠自由地控制每個模型的處理優先級。

模型中控平台中包含兩個核心部分:流程引擎和排程引擎。

開始一個新模型轉換流程時,第一步進入流程引擎,分析流程節點,找出第一個需要執行的節點;然後任務傳遞到排程引擎,排程引擎負責找出最合理的遠端執行機器,将任務分給它,并等待它執行完畢;當遠端機器執行完畢時,排程引擎将任務交回給流程引擎,流程引擎将目前模型流轉到所屬流程的下一個節點,再度傳遞到排程引擎。重複執行這樣的過程,直到目前模型的全部流程被執行完。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

模型中控平台上可以同時運作N種不同的處理流程,一種典型的處理流程如下:

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

解決了批量處理問題,我們有更多的單點問題需要解決,比如模型問題:

目前設計師或者工廠所涉及的家裝模型通常三角面數都是非常高的,材質非常複雜。

高面數有利于增加模型的細節,但是對于極速渲染來說,這麼多的三角面片就不是一件好事了。是以我們需要在渲染之前,預處理這些擁有大量三角面片的模型。目前市面上類似的工具應該說是形形色色,都能做到精簡模型面片的功能。但是具體到細節上,減面後需要保持原模型的各種細節,要有精準的法線,uv等要求,最重要的是一套參數控制所有模型,能夠達到非人工幹預、自動化、規模化的模型處理工具,在工業界并不存在。是以我們自主開發了一套幾何優化工具解決上述問題。

對比Max處理的模型,我們處理的模型在外形保持、細節保持和法線、UV保持都要更好。

細節保持效果:

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

外形保持效果:

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

在解決了面數問題後,我們需要進一步解決材質問題。在家裝行業,比較常見的一種材質是Vray材質,這種材質的參數非常多,計算過程非常複雜,非常不利于極速渲染。而市面上又沒有一種Vray材質轉更簡單材質的方法。因為我們自研了一套材質轉換方案,将現存的材質轉換到更簡單的材質來提升極速渲染的速度。

以下是材質轉換的效果:

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

3D雲渲染服務

淘寶的商家依賴于我們的渲染服務,是以我們并非在開發一個單點渲染引擎,而是需要一個伺服器叢集來處理上大量的請求,這個伺服器叢集組成了雲渲染平台。雲渲染平台管理所有的渲染請求類型,包括離線渲染、極速渲染,以及布料仿真。雲渲染平台隔離業務方和渲染伺服器,并統一了渲染接口,排程器會為每個獨立的請求尋找最合适的機器,最快速地完成這次渲染請求。

雲渲染平台分為兩層:排程叢集和渲染叢集。排程叢集向渲染叢集發送任務,渲染叢集向排程叢集上報狀态。

渲染任務首先進入排程叢集,排程叢集根據上報的狀态和發送曆史,選擇最優的渲染伺服器,将任務發送給它;渲染伺服器更新并上報它的機器狀态,然後開始執行渲染。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

AceRay極速渲染

設計工具通常都使用離線渲染器。離線渲染的效果很好,但是比較大的問題是渲染速度很慢,渲染一張圖的時間短則幾分鐘,長則幾小時。對于設計師來說,渲染速度慢無疑會降低生産3D場景的效率,特别是某些場景中有需要頻繁調整的元素時,快速渲染的需求顯得更為迫切。對于消費者,快速的效果預覽也十分必要,人們通常沒有耐心為了一張效果圖等待太長時間。

AceRay極速渲染服務正是為了解決離線渲染速度慢的問題而誕生,渲染器的目标是要幫助設計師提高3D場景生産效率,提高消費者3D功能使用體驗。

談到渲染,效果永遠是排在第一位的。如果沒有優秀的渲染品質,那麼再快的速度也失去了意義。我們使用 AceRay 雲渲染平台,在十幾秒内渲染了兩張室内家裝的效果圖。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結
預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

在保證上述的渲染效果時,極速渲染的渲染速度可以達到離線渲染的 20~30 倍,這無疑是一個很具有誘惑力的功能。在躺平設計家裡,極速預覽功能通常在3~5秒就能得到一張預覽圖像,極大提升了設計師的工作效率。

光栅化和光線追蹤

首先簡單介紹一下渲染原理。以遊戲為代表的實時渲染業界通常使用光栅化渲染器,而以電影特效、設計工具為代表的離線渲染業界通常使用基于光線追蹤的渲染器。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

光栅化渲染的管線和光線追蹤的渲染管線和有着很大的不同。傳統的光栅化渲染管線包括頂點處理,圖元組裝,光栅化以及像素着色等階段,是一套在遊戲和實時渲染業界久經考研的渲染方案。自人類有圖形硬體開始,圖形硬體就在做一件事情,那就是加速光栅化渲染。然而光栅化渲染有着緻命的缺陷,在渲染過程中,物體與物體之間的互相關系缺失。這個缺點導緻了涉及到物體互相關系的光照效果都很難計算,需要設計特殊的算法,花費高昂的代價來實作。這些效果包括陰影,間接光照,鏡面反射,環境光遮蔽等。正因如此,光栅化渲染的效果在很長一段時間内都難以比肩離線渲染,做不到真正的實體真實的渲染。

而離線渲染使用的基于光線追蹤原理,簡單來說是從相機的位置出發,向螢幕上的每個像素的位置發射光線,通過模拟光線的各種反射/折射/散射的過程,進而實作真實的渲染效果。光線追蹤的原理是簡單的,但是要達到真實的渲染效果,每個像素需要大量的光線和計算,這是導緻離線渲染速度慢的最主要原因。盡管現在CPU通常都是多核設計,但是這些計算硬體在離線渲染巨大的計算量面前還是顯得力不從心,要真正能做到能夠在十幾秒甚至幾秒内渲染出效果圖,這個效率還是遠遠不夠的。

基于光線追蹤的離線渲染器,本質來說是使用光線追蹤的功能,利用蒙特卡洛方法,對高維的渲染方程做數值估計。而蒙特卡洛方法使用了随機采樣,為了達到較好的渲染品質,需要很高的采樣數量。

AceRay極速渲染采用定制的優化算法,很好的解決了離線渲染中需要很高采樣數的問題,在較快的時間内使用光線追蹤算法獲得平滑的光照效果。

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

直接光照

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

間接光照

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

最終效果

總結

雖然圖形學和光線追蹤已經有相當長的曆史了,基于光線追蹤的快速渲染還是一個相對較新的領域。如何更好地利用硬體計算能力,結合目前業務的需求,做出快速而高品質的渲染器是一個相當富有挑戰性的工作。雖然使用者通常隻會接觸到最終的渲染效果圖,然而渲染之前的模型處理,場景處理,伺服器排程等工作是整個渲染服務的基石。3D業界的資料流目前是非常多樣化的,如何相容各種資料流,處理成為統一的渲染器輸入格式,高效排程伺服器資源,完成渲染,這背後的工作值得更多的關注和贊賞。

更多極速渲染效果圖:

預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結
預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結
預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結
預覽速度提升30倍,這是什麼黑科技?(天貓618之3D渲染篇)3D資源3D雲渲染服務AceRay極速渲染光栅化和光線追蹤總結

繼續閱讀