一,概述
ES着色语言源自C语言,同时也有一些不同的优良特性,其易于被开发人员掌握。ES着色语言主要有以下特性:
是一种高级的过程语言;
对顶点着色器,片元着色器使用的是同样的语言;
基于C/C++的语法及流程控制;
完美支持向量与矩阵的各种操作;
通过类型限定符来管理输入与输入;
拥有大量的内置函数提供丰富的功能。
二,着色语言基础
1,基本数据类型:标量,向量,矩阵,采样器,结构体,空类型:
1标量:
整型int,保证最少支持16位,与c语言相似的是可以用8进制,10进制,16进制等表示;浮点型float;布尔型bool,在着色语言的流程控制中只能使用bool类型的值作为表达式。
2向量:
基本类型也分为整型(ivec2,ivec3,ivec4),浮点型(vec2,vec3,vec4),布尔型(bvec2,bvec3,bvec4),由两个,三个或四个相同类型的标量组成。
向量在着色器代码的开发中十分重要,可以很方便的存储以及操作颜色,位置,纹理坐标等不仅包含一个组成部分的量。开发中有时可能单独访问向量中的某个分量,基本语法是:<向量名>