複製鏈接
請複製以下鏈接發送給好友

GLSL

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

目錄

GLSL簡介

GLSL GLSL
由於我們可以將GLSL着色器所寫的代碼直接作為長字符串資源放進應用程序中。所以,我們可以在記事本中描寫我們的着色器代碼。

GLSL工作

頂點着色器主要的工作是:
1. 利用視圖和投影矩陣對點的位置進行變化
2. 如果需要利用法線的時候,也同樣需要利用視圖矩陣對其進行轉換
3. 紋理座標的產生和轉換
4. 頂點的光照或者像素光照的計算
5. 顏色計算
並不是所有的工作都需要做,只需根據自己的需要進行不同的編寫。負責運行頂點着色的是頂點着色器。它可以得到當前OpenGL 中的狀態,GLSL內置變量進行傳遞。比如gl_ProjectionMatrix(投影變換矩陣)、gl_ModelViewMatrix(視圖變換矩陣)、gl_Vertex、gl_Color、gl_Frontcolor、gl_Normal等;而這些又是根據OpenGL應用程序傳遞諸如頂點位置、顏色、法線等信息。