Webgl 學習筆記-術語集錦

WebGL 是一種 3D 繪圖標準,這種繪圖技術標準容許把 JavaScript 和 OpenGL ES 2.0 結合在一塊兒,經過增長 OpenGL ES 2.0 的一個 JavaScript 綁定,WebGL 能夠爲 HTML5 Canvas 提供硬件 3D 加速渲染,這樣 Web 開發人員就能夠藉助系統顯卡來在瀏覽器裏更流暢地展現3D場景和模型了,還能建立複雜的導航和數據視覺化。編程

WebGL基本原理
WebGL 的出現使得在瀏覽器上面實現顯示 3D 圖像成爲可能,WebGL 本質上是基於光柵化的 API ,而不是基於 3D 的 API。瀏覽器

WebGL 只關注兩個方面,即投影矩陣的座標和投影矩陣的顏色。使用 WebGL 程序的任務就是實現具備投影矩陣座標和顏色的 WebGL 對象便可。可使用「着色器」來完成上述任務。頂點着色器能夠提供投影矩陣的座標,片斷着色器能夠提供投影矩陣的顏色orm

光柵化《百度百科》:光柵化就是把頂點數據轉換爲片元的過程。片元中的每個元素對應於幀緩衝區中的一個像素。對象

光柵化實際上是一種將幾何圖元變爲二維圖像的過程。該過程包含了兩部分的工做。第一部分工做:決定窗口座標中的哪些整型柵格區域被基本圖元佔用;第二部分工做:分配一個顏色值和一個深度值到各個區域。光柵化過程產生的是片元。ip

把物體的數學描述以及與物體相關的顏色信息轉換爲屏幕上用於對應位置的像素及用於填充像素的顏色,這個過程稱爲光柵化,這是一個將模擬信號轉化爲離散信號的過程。開發

頂點着色器(Vertex Shader)
頂點着色器的任務就是產生投影矩陣的座標
片斷着色器(Fragment Shader)
片斷着色器的任務就是爲當前被柵格化的像素提供顏色
多變變量
多變變量是從頂點着色器往片斷着色器中傳遞的值get

GLSL
GLSL是圖像庫着色器語言的簡稱,OpenGL着色語言(OpenGL Shading Language)是用來在OpenGL中着色編程的語言,也即開發人員寫的短小的自定義程序,他們是在圖形卡的GPU (Graphic Processor Unit圖形處理單元)上執行的,代替了固定的渲染管線的一部分,使渲染管線中不一樣層次具備可編程性。好比:視圖轉換、投影轉換等。GLSL(GL Shading Language)的着色器代碼分紅2個部分:Vertex Shader(頂點着色器)和Fragment(片段着色器),有時還會有Geometry Shader(幾何着色器)。負責運行頂點着色的是頂點着色器。它能夠獲得當前OpenGL 中的狀態,GLSL內置變量進行傳遞。GLSL其使用C語言做爲基礎高階着色語言,避免了使用彙編語言或硬件規格語言的複雜性。數學

attribute變量(attribute variable)
向頂點着色器傳入數據的變量。it

uniform變量(uniform variable)
向頂點着色器或片元着色器傳入數據的變量。form

varying變量(varying variable):用以從頂點着色器向片元着色器傳遞數據的變量。

相關文章
相關標籤/搜索