数据类型
基础数据类型
关键字 | 数据类型 | 值 |
---|---|---|
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语句结尾分号不可以省略。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。