见名识意
(4)变量的初始化:
float f=1.0;
bool b=true;
int I=15;
(5)类型转换(win):
float f=1.0;
bool b=bool(f)
(6)聚合类型——向量
向量 :有方向的量
向量在着色器中的作用:位置,颜色,纹理
基本类型
这里写图片描述
向量初始化:
1、声明变量的初始化
vec3 xyz=vec3(1.0,1.0,1.0);
float x= xyz.x;
vec3 rgb=vec3(1.0,1.0,1.0);
float r=rgb.r;
float g=rgb.g;
当三个值相等的时候
vec3 rgb=vec3(1.0 );等价于vec3 rgb=vec3(1.0,1.0,1.0);
2、类型之间等价交换
vec3 xyz1=vec3(1.0,1.0,1.0);
vec3 xyz2=vec3(xyz1);
3、截短
vec3 xyz1=vec3(1.0,1.0,1.0);
vec2 xy=vec2(xyz1);
4、加长
vec2 xy=vec2(xyz1);
vec3 xyz1=vec3(xy ,1.0);
(7)矩阵
矩阵在3D开发中的作用:位移,旋转,缩放
.矩阵类型
这里写图片描述
矩阵初始化
只传一个值:m=mat3(4.0);
这里写图片描述
以下三种写法得到效果是一样的:
mat3 m=( 1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0);
vec3 f1=vec3(1.0,2.0,3.0);
vec3 f2=vec3(4.0,5.0,6.0);
vec3 f3=vec3(7.0,8.0,9.0);
mat3 m=mat3( f1,f2,f3 );
vec2 f1=vec2(1.0,2.0);
vec2 f2=vec2(4.0,5.0);
vec2 f3=vec2(7.0,8.0);
mat3 m=mat3(f1,3.0,f2,6.0,f3 ,9.0
GLSL首先填充列 然后填充行:
这里写图片描述