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語言作為基礎高階著色語言,避免了使用彙編語言或硬體規格語言的複雜性。

基本介紹

  • 中文名:著色語言
  • 外文名:OpenGL Shading Language
  • 簡稱:GLSL
  • 內置變數進行傳遞
簡介,工作,

簡介

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

工作

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

相關詞條

熱門詞條

聯絡我們