WebGL基本圖形概念

渲染

渲染是從使用計算機程序模型生成圖像的過程。在圖形中,一個虛擬場景是使用像幾何,視點,紋理,光照和陰影,這是通過一個渲染程序傳遞信息描述。此呈現程序的輸出將是一個數字圖像。

有兩種類型的渲染 -

  • 軟件渲染 − 所有的渲染是在CPU的幫助下計算完成。

  • 硬件渲染 − 所有的圖形計算都由GPU(圖形處理單元)完成的。

渲染可以在本地或遠程上進行。如果所要呈現的圖像太複雜,則呈現遠程具有足夠的渲染複雜場景所需的硬件資源可以在專用服務器上完成。它也被稱爲基於服務器的繪製。渲染也可以通過在本地CPU完成。這就是所謂基於客戶端的渲染。

WebGL如下基於客戶端的呈現方式來呈現3D場景。所有獲得圖像所需要的處理是使用客戶端的圖形硬件在本地執行。

GPU

根據NVIDIA,一個GPU就是「使用集成在一塊芯片處理器轉換,光線,三角形設置/剪輯和渲染處理能力最低爲每秒10百萬個多邊形的引擎。」

不同於多核心處理器,使用順序處理優化過的幾個核,GPU由數千個較小的內核,高效地處理並行工作負載。因此GPU加速旨在用於輸出到顯示器建立在一個幀緩衝器的圖像(壓頭的一部分,其含有完整的幀數據)。

GPU加速計算


在GPU加速計算,應用程序被裝載到CPU。每當遇到代碼的計算密集型部分,則該部分的代碼將被加載運行在GPU上。它可以使系統以處理圖形以更有效的方式來。

GPU有一個單獨的存儲器,它運行的代碼的一小部分一次處理多個副本。 GPU處理所有這些是在它的本地存儲器,而不是在中央存儲器中的數據。因此,所需要的數據由GPU應加載/複製到GPU存儲器,然後進行處理。

在具有上述結構的系統中,CPU和GPU之間的通信開銷應減少以實現更快的處理3D程序。對於這一點,我們必須複製所有數據,並保持它在GPU上,而不是與GPU反覆溝通。