# Shader
Shader
是一种给显卡 GPU
执行的程序, 是一种绘制算法,显卡的渲染流水线加载 Shader
代码后,就能够在绘制的时候执行 Shader
的代码。Cocos
有自己的一个Shader
的结构,Shader
的开发语言 cocos
使用的是 GLSL
编程语言。
OpenGL
着色语言(OpenGL Shading Language)是用来在 OpenGL
中着色编程的语言,也即开发人员写的短小的自定义程序,他们是在图形卡的 GPU
(Graphic Processor Unit图形处理单元)上执行的,代替了固定的渲染管线的一部分,使渲染管线中不同层次具有可编程性。比如:视图转换、投影转换等。GLSL
(GL Shading Language)的着色器代码分成2个部分:Vertex Shader
(顶点着色器)和 Fragment
(片断着色器),有时还会有 Geometry Shader
(几何着色器)。负责运行顶点着色的是顶点着色器。它可以得到当前 OpenGL
中的状态,GLSL
内置变量进行传递。GLSL
其使用C语言作为基础高阶着色语言,避免了使用汇编语言或硬件规格语言的复杂性。