題記:

在幾年前,誰能夠想象得到今天在網上買的東西,明天就可以送到自己的手裡?誰能夠想象得到,電腦可以在圍棋上下贏人類?誰能夠想象得到,帶上一副眼鏡,無比真實的另一個世界就可以在自己眼前展開?

這些畫面,曾經只能在科幻電影裡看到,而現在卻居然已經成為你我生活的一部分。科幻與現實重疊。不知何時,我們的生活,已然步入了曾經的我們口口聲聲訴說著的“未來”。

而GPU渲染領域的蓬勃發展,對於我們從事CG渲染工作的同胞們來說,正是一種未來塌陷為當下的具體表現。

寫在前面(可以跳過):

先澄清一下上一篇評價arnold文章的問題

http://

weibo。com/ttarticle/p/s

how?id=2309404040417728440033

我確實也聽說了arnold是在開發GPU渲染這個方向,所以有些話寫的不嚴謹。我其實更確切想表達的是,透過以往他們團隊表現出來的態度,讓人很懷疑他們在GPU渲染方向能走多遠。

要知道,

GPU渲染方面技術的開發是非常困難的

我個人不做開發,有可能談的問題不對或者不嚴謹,希望可以拋磚引玉。這篇文章我就從我作為從業者和個人藝術家長期的使用經驗角度來給大家分析一下GPU渲染相關的很多話題。

GPU渲染真的很快嗎?

是的,超級快。

首先GPU這個東西一開始被造出來,就是為了解決大量運算的問題。它的特點是運算速度超級快但是邏輯單一,只能處理簡單的演算法,而難以勝任複雜的工作。比如我們影視從業者一般搞的那種,一等半小時渲一張圖的渲染,叫離線渲染。這種渲染因為演算法比較複雜,就是GPU以前不能處理的。

所以到底那些開發人員到底是如何做到讓GPU也慢慢能夠做複雜的離線渲染,這件事情,我是搞不懂的,就像我也不知道今天在網上買的東西第二天就送到我手上這個事情背後複雜的細節。我只是明白這種事情就是從無到有,花費很多聰明的大腦多年努力才慢慢做起來的。困難重重。

而等到GPU真的可以做離線渲染之後,我們的渲染速度就像變魔術一樣瞬間得到超大幅度的提升。這種提升是由於GPU身體結構天生適合快速運算大量資料造成的,以前它只是不會,現在它既然會了,那麼就像脫韁的野馬,你真的想象不到的快。

我拿最近做的一些專案經驗來說說。之前我們用GPU渲染器做了一部頂級的電影,簡稱專案A吧。後來我們又用arnold這款cpu渲染器做了一部頂級的tv動畫,簡稱專案B。

做A專案的時候,我們每天走之前都用本機掛序列,像全是山體、石頭加怪獸的大場景(少說幾億面,數不盡的8k貼圖),一張渲染時間不到10分鐘,一晚上跑個50-100幀都不是問題。任務不緊的時候都不需要農場,序列輕鬆就跑完了。

做B專案的時候,因為比較卡通,場景也簡單很多,試了一下用本機跑序列,經常4+小時一幀,再也沒人用本機渲序列了。

我也不給你們說到底快多少倍,只跟你們說我的使用感受。什麼結論你們自己定吧。

用GPU渲染是不是就等於像遊戲一樣,速度快質量差?

之前還有人跟我說是因為用顯示卡渲染,所以等於是像遊戲裡那樣的實時渲染,所以速度是快了,但是質量卻不行。

秉持這個觀點的人估計也不少。

我先簡單說一下離線渲染和實時渲染的區別。

離線渲染用的演算法都比較接近真實世界光線的傳播,一個畫素要發射大量射線去場景裡反彈去收集周圍的顏色亮度資訊,最終計算出這一個畫素的顏色。

而實時渲染,核心思想就是hack。透過各種簡化和作假的演算法,做出接近離線渲染的視覺效果。

比如說反射,在離線渲染裡,就真的是按照光線的傳遞去看周圍是什麼東西,再渲到材質上面,這樣的結果就非常準確。而在實時渲染裡呢?經常會把周圍的環境烘焙成一張反射球,經過一定程度的模糊,直接貼在物體表面。這樣看著其實效果也不錯,只不過遇到動的物體會穿幫(當然遊戲裡還有更多別的解決這些問題的方法,這裡不討論)。

前文已經提過了,雖然我們的渲染器開始用GPU渲染了,但是是因為英明的開發者想到了辦法,可以讓GPU也用離線渲染的公式去計算畫面了;而不是改變公式,按實時渲染的方法去計算。

所以,我們用的渲染器,雖然用了GPU,仍然還是離線渲染

。也就是說,速度得到了極大提升,但是和遊戲實時渲染的思路還是隔了很遠,本質依然未變。

拓展閱讀:為什麼Unreal 4引擎能輕易實時渲染出vray要花半天才能渲染出的場景?

那GPU渲染又快又好,就沒有問題?

世界上當然沒有那麼簡單便宜的事兒。

我最開始從2009年左右,從furry ball、octane、vray rt等渲染器開始關注GPU渲染的,當時被它們超級無敵的渲染速度給折服了。但是那個時候的GPU渲染器還很不好用,有非常多的限制。

最大的問題有兩個:

1)

不支援離線渲染的高階效果。

從這點就能看出來,GPU渲染的開發還是挺困難的,最開始大家都只能 最開始是不支援毛髮、細分、置換、車漆、3s、fog color(vray的說法,就是透明玻璃的顏色,不過會隨著厚度的變化而改變顏色,屬於複雜材質效果)。直到這最近,經過七八年的發展,所有這些效果都已經比較好地支援了。但是還有另外一個非常嚴峻的問題。

2)

很多渲染器還不支援out-of-core。(此部分修改了之前不正確的內容,修正了不嚴謹措辭)

感謝 炎之獵人 的指正,附原文連結:

http://

weibo。com/ttarticle/p/s

how?id=2309404040993480571504

以前我看官方出的GPU渲染影片,都只是看看,因為自己動手嘗試過幾次,都是因為顯示卡太弱而渲染速度根本比不上CPU、不然就是直接渲染不出來。我查過官方測試用的配置,至少雙路泰坦,有時候四路,六路都有,相當相當大的一筆投資。對於看我文章的各位,我知道,能掏錢買幾千塊渲染器的都是鳳毛麟角,更何況是投資幾萬去買顯示卡??!

為什麼GPU渲染這麼貴?我發現主要出在這視訊記憶體問題上面。比如說gtx980的顯示卡4GB的視訊記憶體,我使用vray rt測試,渲了一個簡單幾萬面的模型,加一套4k貼圖,視訊記憶體就滿了。

對於玩遊戲的來說,4GB視訊記憶體跑大部分大作都尚有餘力,但是對於搞GPU渲染的來說,卻剛剛夠塞牙縫。

測的就是這個例子,很簡單,原諒我圖少,工作忙起來沒空做個人的東西。

談談GPU渲染,我們的未來

談談GPU渲染,我們的未來

之後我在工作過程中有幸接觸到一個叫做Redshift的神器渲染器,一開始我是拒絕並且不屑的。但是經過一年的使用,我對這個渲染器有了深刻的認知,使用經驗也爆炸般膨脹。期間經歷了Redshift多個版本的迭代,從最開始哪哪兒用著都不舒服,哪哪兒都有bug;到後來慢慢變得越來越好用,也越來越穩定,它自身瘋狂的渲染速度優勢就開始凸顯出來。

並沒有說Redshift渲染速度比octane 或者vray rt更快。但是由於使用了out-of-core渲染技術,可以在第一次渲染的時候,將場景中的模型和貼圖打包儲存在硬碟上面,之後再渲染的時候,直接從硬碟上面讀取,所以,視訊記憶體的壓力就會小很多。

我自己測的是這個例子,秒渲,顯示卡就是gtx980。

SP多象限UV貼圖使用方法-線上播放-優酷網,影片高畫質線上觀看

這個影片9分30多秒的時候,可以感受到這個渲染器有多快。

談談GPU渲染,我們的未來

談談GPU渲染,我們的未來

看看我做這個案例的時候幹了什麼變態的事情:

談談GPU渲染,我們的未來

談談GPU渲染,我們的未來

談談GPU渲染,我們的未來

談談GPU渲染,我們的未來

當時為了測SP的udim和8k,做了一套7張8k貼圖。用rs渲染的時候,除了系統佔了接近一個G的視訊記憶體開銷,還空閒一個G的視訊記憶體,也就是說,渲染的程序中需要2G就可以渲染6*8 = 48張(height圖沒貼,因為不是特別為了出置換做的,normal貼圖可以取代)8k貼圖。

而之前我用vray rt測的時候,4G視訊記憶體只能跑4張4k貼圖就夠嗆了。這差距大得及其離譜。雖然說這麼多年來,我一直是vray最狂熱的粉絲,甚至拿到過官方認證。我想表達的是,這篇文章裡雖然我一直在說vray rt的不是,但是我對vray本身的熱愛超過大多數人,所謂愛之深責之切。

談談GPU渲染,我們的未來

談談GPU渲染,我們的未來

前段時間和官方人員聊過這個問題,他們也承認這是非常嚴重也非常難以解決的問題。並且發給我一些內部的測試版本,在貼圖快取方面做到了一定提升。但是結果離Redshift所表現出來的強悍還是有非常巨大、難以彌補的鴻溝。

從他們積極和我溝通、並且坦誠問題的態度可以看出來。他們也非常想要解決這個問題,也側面反映了,視訊記憶體利用率的問題,真的非常困難,創造了這麼多奇思妙想的chaos group,至今都沒有拿出良好的解決方案。

到目前這個時間點,真正很有效率地使用out-of-core技術的的只有Redshift一家。

如果你要選擇一款渲染器嘗試開始自己的GPU渲染之路,唯一明智的選擇只有——Redshift

送人送到西,附試用版下載,功能和正式版完全一致,沒有時間和尺寸的限制,唯一多的就是水印:

https://

pan。baidu。com/s/1qXDVDO

K

如果Redshift相關利益人員看到這篇文章覺得不錯,請速度聯絡我發點廣告費啊~ 我寫了這麼好的文,一個子兒都沒有~

關於渲染質量的謠言:

一直有很多人在說Redshift雖然快,但是渲染質量不行。不然怎麼沒有像樣的大片?

我覺得一個新概念的出現到被廣泛接受,總是要有一個過程。Redshift渲染器目前雖然話題挺熱了,但是普及率依然低。很多人都不敢嘗試,都是先觀望,等別人先做點像樣子的東西出來以後,再考慮要不要進入。自然缺少大片作品撐腰。就算vray這種質量超高的老牌渲染器,也是最近兩年大作才相對多了起來。渲染器本身的質量,並不能粗暴地和參與的大片數量進行掛鉤。

因為渲染界,用的核心公式就那麼些,而且都是公開的,大家都可以拿來直接用。所以,渲染器本身的質量並沒有多麼明顯的高下之分。我就只從材質角度舉一個簡單但非常有說服力的例子,大家就都明白了。

現在大家都知道,有一個開源材質庫叫alshader非常火。而其中的基本材質球,alsurface在很早之前就可以被安裝如arnold中使用,大家也是從那個時候發現alsurface的效果非常贊,比arnold自己的3s效果還要好。我就當這是大家的一個共識。

在最近,arnold、redshift、vray都已經內建了alsurface這個材質,那也就是說,大家都一樣了,如果你使用某一款渲染器做出來的效果比別的差,只能說明你對這款渲染器的掌握程度不夠好。

再有人對比這三款渲染器,說渲染效果哪個哪個好,哪個哪個不行。我們就可以問他這兩個問題:

你試過嗎?

你行嗎?

尾巴:

最近這兩天雙11,剁手的不在少數。就像開篇說的那樣,未來已經悄無聲息地來了。你有沒有想過,你覺得好像很遙遠的GPU渲染時代,有可能就像遠在村野鄉間沒有wifi不會上網的親戚們 眼裡的網購一樣,在他們並不熟知的另一片天地裡如火如荼地野蠻生長著?