数据类型

基础数据类型

关键字数据类型
bool布尔值ture 或 false
int整型数值为整数,比如0,1,2,3...
float单精度浮点数浮点数用小数点表示,比如0.6,3.14,2.8

变量定义

// 整型变量
int count = 10;
// 浮点数变量
float num = 10.0;
// 声明一个布尔值变量
bool lightBool = true;

数据类型

  • 错误赋值方式
float num = 1;
  • 正确赋值方式
float num = 1.0;

向量类型

关键字数据类型
vec2二维向量,具有xy两个分量,分量是浮点数
vec3三维向量 ,具有xyz三个分量,分量是浮点数
vec4四维向量 ,具有xyzw四个分量,分量是浮点数
ivec2二维向量,分量是整型数
ivec3三维向量,分量是整型数
ivec4四维向量,分量是整型数
bvec2二维向量,分量是布尔值bool
bvec3三维向量,分量是布尔值bool
bvec4四维向量,分量是布尔值bool

向量定义

  • 二维向量定义
vec2 pos = vec2(1.0, 2.0);

三维向量定义方法类型

  • 二维向多维向量转换
vec2 pos = vec2(1.0, 2.0);
vec4 newPos = vec4(pos,1.0 , 1.0);
向量意义

和数学上的向量意义不同,n维数据可以按照数据类型赋予意义。

例如赋予颜色意义

vec4 color = vec4(1.0,0.0,0.0,0.45)

如上:表示为rgba,同理三维向量也可表示rgb不透明。

vec2 location = vec2(108.23,27.98)

内置变量

所谓内置变量就是着色器语言GLSL ES默认提供的变量,不需要声明,就可以使用。GLSL ES内置变量很多,下面介绍几个下节课会用到的。
  • gl_PointSize:点渲染像素大小,数据类型浮点数float
  • gl_Position:顶点坐标,数据类型四维向量vec4
  • gl_FragColor:像素颜色,数据类型四维向量vec4
注意:和JavaScript不同的是,GLSL ES语句结尾分号不可以省略。

风研雨墨
396 声望15 粉丝