KeyShot,一套2010年問世的渲染軟體,他讓許多渲染時的漫長等待,成了彈指可見的即時反應,那是因為KeyShot採用了所謂的「光跡追蹤」來進行圖形渲染。「光跡追蹤(Ray Tracing)」是模擬光線的前進路線,將場景當中光源所發散出來的「光線」經由反射、折射、干涉、繞涉和亂射(誤)之後,最後射向觀察者的一種圖形渲染的方式。因為是模擬光線的前進路線,所以渲染出來畫面的光影效果,會非常接近真實世界的光線。但由於畫面當中的光線不可勝數,要一一的去將每一道光線的路徑模擬出來,需要花費相當多的運算能量,所以「光跡追蹤」也是一種相當耗時的渲染方式。但KeyShot成功的在運算時間和品質上利用他們的技術,達到快速而且逼真的渲染,也成為一套業界知名的新興渲染軟體。
而在今年,KeyShot除了原先的反、折射,和新加入的表面散射之外,更利用近年來運算能量大幅提昇的GPU來幫忙提昇場景的呈現效果,Bloom和Vignetting。Bloom主要作用在場景中光線較強烈的地方,讓這些地方產生過曝的效果,可以選擇的參數有過曝的強度和半徑,如此便能模擬出人眼所見的高反差對比效果。而另一個Vignetting則是能夠在整個場景的外圍產生漸暈的現象,讓視覺焦點集中在畫面中間。
就讓我們用ATI FirePro V4800來看看實際開啟功能後KeyShot和繪圖卡交互作用後會發生什麼樣的變化。
開啟GPU運算的方式為[Options] --> [Realtime] --> [Effects] --> [Enable]
下方則可設定特效的參數
首先看到的是單純開啟場景,不啟用FirePro V4800的GPU功能,僅利用CPU來作光跡追蹤即時渲染
同樣單純開啟場景,不啟用FirePro V4800的GPU功能,僅利用CPU來作光跡追蹤即時渲染,但使用效能模式,效能模式會關掉部份效果以得到更好的預覽效能
接著開啟場景,啟用FirePro V4800的GPU功能,除利用CPU來作光跡追蹤即時渲染之外,同時讓FirePro V4800加入運算特效
啟用FirePro V4800的GPU的功能,除利用CPU來作光跡追蹤即時渲染之外,同時讓FirePro V4800加入運算特效,並使用效能模式,效能模式會關掉部份效果以得到更好的預覽效能
若使用FireGL V3100時,則即時預覽畫面一片漆黑,表示早期的繪圖卡無法支援此GPU特效
從即時的畫面更新率數字我們可以看出,加入FirePro V4800的GPU運算對於效能的提昇其實沒有幫助,但卻能讓場景的呈現有不同的風貌。
直接從渲染完成的圖片來檢視兩種特效對完稿輸出所造成的影響
不加特效
加入一點點的Bloom,可以看到在左上角反射率較高的部份產生了局部過曝的現象
將Bloom的強度和半徑都調到最大,發現整個都糊掉了
除了Bloom之外也加入Vignetting效果,可以產生聚焦的效果
(為了讓畫面明顯看出差異,故將Vignetting的強度調到最大)
加入這兩種特效時,我們可以發現FirePro V4800的GPU運行時脈立刻由2D待機模式上升到3D運算的時脈,這表示特效的確是利用GPU來進行運算,只是GPU的負載並沒有提高,所以GPU的使用率應該不高。KeyShot最為強大的特色就在於他的易用性和即時性。如前所提,KeyShot可以輕易匯入許多CAD軟體的原生檔案,在簡單幾個步驟加上材質和場景之後,就能立刻模擬產品製造出來的樣貌,讓我們看到產品與光線互動的即時效果。這要歸功於KeyShot使用「光跡追蹤」的方式,將場景利用光線模擬逼真的呈現出來,一開始可能僅有模糊的概略影像,不過在短短地數秒後,即會漸漸變成高品質的預覽圖像。這讓我們可以省去許多等待渲染的時間,快速套用不同的材質效果,更有效率的找到最佳的設計方案。而原本「光跡追蹤」僅支援多核心CPU的即時運算,利用CPU的多核心同時模擬場景中的光線行進,CPU核心越多,模擬的速度越快,我們就能以更短的時間看到高品質的預覽結果。在加入GPU即時運算的功能之後KeyShot能套用更多不同的效果,雖然還沒能用到GPU的大量核心來幫忙「光跡追蹤」的運算,不過照目前KeyShot和GPU運算的發展趨勢,這一天應該指日可待。
而在今年,KeyShot除了原先的反、折射,和新加入的表面散射之外,更利用近年來運算能量大幅提昇的GPU來幫忙提昇場景的呈現效果,Bloom和Vignetting。Bloom主要作用在場景中光線較強烈的地方,讓這些地方產生過曝的效果,可以選擇的參數有過曝的強度和半徑,如此便能模擬出人眼所見的高反差對比效果。而另一個Vignetting則是能夠在整個場景的外圍產生漸暈的現象,讓視覺焦點集中在畫面中間。
就讓我們用ATI FirePro V4800來看看實際開啟功能後KeyShot和繪圖卡交互作用後會發生什麼樣的變化。
開啟GPU運算的方式為[Options] --> [Realtime] --> [Effects] --> [Enable]
下方則可設定特效的參數
![KSOption.png](https://lh6.googleusercontent.com/_T6-F8nzjuKw/TdCTFlDndgI/AAAAAAAADhI/gfw6aKxIhEc/KSOption.png)
首先看到的是單純開啟場景,不啟用FirePro V4800的GPU功能,僅利用CPU來作光跡追蹤即時渲染
![KSAC0.png](https://lh3.googleusercontent.com/_T6-F8nzjuKw/Tct8SMUr8gI/AAAAAAAADfY/-38pHa1ifuU/s1280/KSAC0.png)
同樣單純開啟場景,不啟用FirePro V4800的GPU功能,僅利用CPU來作光跡追蹤即時渲染,但使用效能模式,效能模式會關掉部份效果以得到更好的預覽效能
![KSACP0.png](https://lh6.googleusercontent.com/_T6-F8nzjuKw/Tct8ebble0I/AAAAAAAADfk/FTtb7WCpSEo/s1280/KSACP0.png)
接著開啟場景,啟用FirePro V4800的GPU功能,除利用CPU來作光跡追蹤即時渲染之外,同時讓FirePro V4800加入運算特效
![KSAG0.png](https://lh6.googleusercontent.com/_T6-F8nzjuKw/Tct8oV1htII/AAAAAAAADfs/5q1LlAtbVdg/s1280/KSAG0.png)
啟用FirePro V4800的GPU的功能,除利用CPU來作光跡追蹤即時渲染之外,同時讓FirePro V4800加入運算特效,並使用效能模式,效能模式會關掉部份效果以得到更好的預覽效能
![KSAGP0.png](https://lh6.googleusercontent.com/_T6-F8nzjuKw/Tct8y_V3K-I/AAAAAAAADf8/6z5BrBOrC4s/s1280/KSAGP0.png)
若使用FireGL V3100時,則即時預覽畫面一片漆黑,表示早期的繪圖卡無法支援此GPU特效
![KSAG2.png](https://lh6.googleusercontent.com/_T6-F8nzjuKw/Tct9HnPU8NI/AAAAAAAADgQ/oZkct1dEVMA/s1280/KSAG2.png)
從即時的畫面更新率數字我們可以看出,加入FirePro V4800的GPU運算對於效能的提昇其實沒有幫助,但卻能讓場景的呈現有不同的風貌。
直接從渲染完成的圖片來檢視兩種特效對完稿輸出所造成的影響
不加特效
![keyshot_ball.93.jpg](https://lh5.googleusercontent.com/_T6-F8nzjuKw/Tcua2_e-KgI/AAAAAAAADg4/b0w1FzszyQg/keyshot_ball.93.jpg)
加入一點點的Bloom,可以看到在左上角反射率較高的部份產生了局部過曝的現象
![keyshot_ball.94.jpg](https://lh4.googleusercontent.com/_T6-F8nzjuKw/Tcua2gWyX6I/AAAAAAAADg0/6VB8Pb32R-A/keyshot_ball.94.jpg)
將Bloom的強度和半徑都調到最大,發現整個都糊掉了
![keyshot_ball.92.jpg](https://lh6.googleusercontent.com/_T6-F8nzjuKw/Tcua0lG4LOI/AAAAAAAADgw/Vj7hZ44Xaf0/keyshot_ball.92.jpg)
除了Bloom之外也加入Vignetting效果,可以產生聚焦的效果
(為了讓畫面明顯看出差異,故將Vignetting的強度調到最大)
![keyshot_ball.91.jpg](https://lh5.googleusercontent.com/_T6-F8nzjuKw/TcugUi1_mCI/AAAAAAAADg8/7ckxKKZsEEo/keyshot_ball.91.jpg)
加入這兩種特效時,我們可以發現FirePro V4800的GPU運行時脈立刻由2D待機模式上升到3D運算的時脈,這表示特效的確是利用GPU來進行運算,只是GPU的負載並沒有提高,所以GPU的使用率應該不高。KeyShot最為強大的特色就在於他的易用性和即時性。如前所提,KeyShot可以輕易匯入許多CAD軟體的原生檔案,在簡單幾個步驟加上材質和場景之後,就能立刻模擬產品製造出來的樣貌,讓我們看到產品與光線互動的即時效果。這要歸功於KeyShot使用「光跡追蹤」的方式,將場景利用光線模擬逼真的呈現出來,一開始可能僅有模糊的概略影像,不過在短短地數秒後,即會漸漸變成高品質的預覽圖像。這讓我們可以省去許多等待渲染的時間,快速套用不同的材質效果,更有效率的找到最佳的設計方案。而原本「光跡追蹤」僅支援多核心CPU的即時運算,利用CPU的多核心同時模擬場景中的光線行進,CPU核心越多,模擬的速度越快,我們就能以更短的時間看到高品質的預覽結果。在加入GPU即時運算的功能之後KeyShot能套用更多不同的效果,雖然還沒能用到GPU的大量核心來幫忙「光跡追蹤」的運算,不過照目前KeyShot和GPU運算的發展趨勢,這一天應該指日可待。