光看字面的意思「Shader」不知道是什麼玩意兒，硬翻成中文「著色器」似乎也難以摸著頭緒！剛開始接觸圖學的我完全搞不懂它有什麼作用，然後盲目地學著OpenGL：Ｐ直到老師說：「只要你學會Shader，就可以做到別人辦不到的效果。」哈～上學期末有教到，只是很意外地沒聽懂，雜務太多不是件好事呢！
我發現網路上很少有繁體中文的教學資源，雖然可以直接看英文來學習，然而對一個初學者來說，可能會誤解英文字面上的意思，於是我打算從定義著手，恰好發現大陸的網友有貼Shader的定義，從什麼是Shader，接下來延伸到Vertex Shader和Pixel Shader，直接把原文貼過來，因為寫得真是太好了！
通俗解釋：什麼是管線？什麼是流水線？什麼是Shader？
* 什麼是Shader？Shader可以翻譯為著色器，分為Vertex Shader & Pixel Shader ，即：頂點著色器和像素著色器。Shader主要指的是可編程管線的算法片段。
* 什麼是管線？因為圖形渲染象流水線一樣的順序執行，所以形象說法，下文所涉及的處理流水線就是這種東西。
需要注意的：關於老顯卡和新顯卡的區別是什麼？
* 以前老顯卡是不能編程的，所以叫固定管線。
* 詳細說明：以前固定管線時代，頂點的運算是固定不變的，就是坐標變換，比如投影到屏幕上的坐標換算，後來GPU出現了，頂點的運算就可以編程了，把這些操作頂點的算法叫shader。
通俗解釋：什麼是Vertex Shader？
* 什麼是Vertex？稱頂點，由於模型是由很多坐標點定義的，這些點就是Vertex。
* 什麼是Vertex Shader？用來改變物體模型外形，由於模型是由點構成的，因此改變點就是改變外形。比如星際爭霸2demo片中所展示的那個神族母艦黑洞的技能效果，扭曲了單位的外型。
通俗解釋：什麼是Pixel Shader？
* 什麼是Pixel？稱像素，即一個像素點，像素點可以變化不同的顏色，由眾多的像素點就可以組成我們現在所見的電腦顯示內容。
* 什麼是Pixel Shader？當模型頂點變換完之後，需要填充顏色，這些填充算法是針對屏幕上的每個像素，所以叫Pixel Shader（像素著色器），以前這些內容是不能通過編程控制的，後來顯示卡的GPU出來後就可以編程控制了，因此這些算法叫piexl shader。
* 常見的毛髮效果渲染：遊戲引擎裡面，動物身上所渲染的一根根毛髮，就是用了Pixel Shader，因為毛髮這種是針對每個像素的，所以要用到Pixel shader。
專業解釋如下：
能夠實現Vertex Shader和Pixel Shader的顯卡的圖形處理流水線被稱作為是可編程的，相對而言，在此之前的圖形處理流水線被稱作為是固定功能（fixed function），下面是OpenGL圖形處理的一個簡圖：
雖然實現Vertex Shader和Pixel Shader功能的圖形流水線被稱作為是可編程的，但是實際上可編程的只有流水線的一部分，正如Vertex Shader 和Pixel Shader的字面意思一樣，現在可編程的部分只有處理頂點的和處理像素的單元。
Vertex Shader 和 Pixel Shader（Direct3D）在不同的文檔裡面有不同的叫法，Nvidia在自己的OpenGL擴展中把Vertex Shader叫做Vertex Program、把Pixel Shader叫做Texture Shader，3D labs在自己提出一份OpenGL 2.0的提議裡面把這兩者分別叫做Vertex Shader和Fragment（片元）Shader。拋開叫法的差異，實際上的功能都是差不多的，下面的一段話對這種狀況作了一個完美的解釋：
OpenGL本身是個狀態機，可藉由呼叫函式來控制各種狀態。話說OpenGL的pipeline真實版相當複雜，還有一些沒用過的函式。
參考：Vertex Shader & Pixel Shader、OpenGL rendering pipeline。