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反復溝通。