3D渲染集群,你了解多少?


摘要:渲染是批處理運行模式,那能不能使用Docker容器技術,做大規模的渲染集群呢?

我們先說說3D渲染涉及哪些領域:

1、什么是3D渲染

簡單粗暴的講:就是將虛擬世界里的3D模型,變為(人眼看到)平面圖片。

比如你畫了個3D模型,經過渲染,變成了最終我們看到的圖片:

(3D模型)

(2D圖片)

2 、3D模型,怎么得到2D圖片

將一個想象的“攝像機”放到3D空間中,去拍攝圖片。這個“攝像機”跟我們的眼睛類似,它看到的就是2D的圖片(視網膜上)。

牆裂建議去看看這個教程:https://www.khanacademy.org/partner-content/pixar/rendering/rendering1/v/overview-rendering

所以簡化后就是,一個“攝像機”+ 一個“視窗”。如下圖:

畫重點:從攝像位,發出一束射線,穿過柵格,打到3D模型上,並記錄下擊中的那個點的顏色。

重復上述步驟,掃描每個柵格上面的點,得到所有點的顏色。這就得到柵格最終的圖片:

這種方式也叫光線追蹤,這個詞也比較常見。

每張圖片里的每個像素點,都是通過“攝像機”+“柵格”拍攝出來的。

3 、3D->2D 更復雜的場景

實際渲染情況下,並不只是這么簡單,因為3D模型表面的顏色,會受到它周圍的環境的影響。比如:3D模型的附近有個光源,3D模型的表面光滑程度等等。

所以即使你知道“攝像機”發出的那束光擊中了3D模型的位置,你也並不能馬上得到該點的顏色(底色+干擾=最終顏色)。

所以真正計算像素點的顏色,工作量還是非常大的。注意,這還是一張圖片(一幀)的計算量,一部動畫電影得有多少幀圖片?

4 、完美的批處理任務

一部電影由很多的幀組成,每一幀都由上面光線追蹤算法計算出每個像素點的顏色。注意:每一張圖片,都可以分別計算的,互相之間並不影響。

(每一幀,單獨進行渲染處理)

  • 渲染是創建 3D 模型並將其轉換為 2D 圖像的過程。 在 Autodesk 3ds Max、Autodesk Maya 和 Blender 等應用程序中創作 3D 場景文件。 Autodesk Maya、Autodesk Arnold、Chaos Group V-Ray 和 Blender Cycles 等渲染應用程序可生成 2D 圖像。 有時,可以從場景文件創建單一的圖像。 但是,常見的操作是建模並渲染多個圖像,然后將其組合成動畫。
  • 傳媒娛樂行業往往使用渲染工作負荷來生成特效 (VFX)。 廣告、零售、石油和天然氣及制造等其他眾多行業也會使用渲染。
  • 渲染過程屬於計算密集型工作;要生成的幀/圖像數可能很多,而渲染每個圖像可能需要大量的時間。 因此,渲染是一個完美的批處理工作負荷,可以利用 Batch 類服務來並行運行多個渲染器。

5 、渲染雲廠商

各大通用類雲廠商,一般都是通過直接買買買,獲得了雲渲染的能力。

也有一些是直接定位為渲染領域的專業雲:

瑞雲,又獨立搞了個“青椒雲”。這么看來,華為雲如果想要進入渲染計算,也得買個小幫手才行啊~

6 、渲染大客戶

一般就是各大渲染廠商,也就是制作動畫片的大廠。比較有名的“追光動畫”大家總有聽說過吧。

今年疫情,電影行業受挫,估計這些渲染廠家日子不好過。。

7 、渲染軟件的生態

要計算那些光線追蹤的像素顏色,就得有專門的軟件。

這些軟件有開源的,有商業的。大部分都在Windows或者Mac上面(畢竟Mac才是設計師們的寶貝)。當然,也有不少是支持在Linux的。

看Google趨勢,熱門的渲染軟件如上。基本上渲染軟件都在下面:

8 、容器搞渲染集群?

既然渲染是完美的批處理,每個步驟的處理互相不影響,可以分布式大規模同時進行。

同時,容器技術,天然適合大規模運行環境的復制。

那能不能使用Docker容器技術,做大規模的渲染集群呢?

答案當然是肯定的。

2019年1月份,Google CloudSony Pictures Imageworks合作推出了OpenCue,高性能的開源渲染管理器,專門針對VFX和動畫功能而設計。Apache 2.0許可

Google雲,也基於OpenCue,推出了渲染解決方案:

https://cloud.google.com/solutions/creating-a-render-farm-on-gcp-using-opencue?hl=zh-cn

9 、容器渲染集群嘗試

畢竟咱是搞容器的嘛,所以小組也針對這個OpenCue做過原型驗證,還給他們提了貢獻呢:-)

安裝Maya,安裝插件:

配置渲染任務:

投遞渲染任務,容器們開干啦:

額,容器估計要統一宇宙了。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM