GLSL Shader着色器编程(向量型变量)

  

学习提示:如果没有C语言、Windows项目开发基础可以通过下方链接学习:

0基础C语言学习与训练

0基础C++学习与训练

Windows项目开发

 

1、在GLSL的语法中,它提供了多种不同类型的向量类型关键字,各类型如下:

 

 ivec2  描述包含(2个整数)的向量

 ivec3  描述包含(3个整数)的向量

 ivec4  描述包含(4个整数)的向量

 

 vec2  描述包含(2个浮点数)的向量

 vec3  描述包含(3个浮点数)的向量

 vec4  描述包含(4个浮点数)的向量

 

 bvec2  描述包含(2个布尔数)的向量

 bvec3  描述包含(3个布尔数)的向量

 bvec4  描述包含(4个布尔数)的向量

 

2、向量型变量定义的语法格式

 

  类型关键字 空格 变量名;

 

  ivec2 变量名; //向量中可以存放2个整型数据。

  ivec3 变量名; //向量中可以存放3个整型数据。

  ivec4 变量名; //向量中可以存放4个整型数据。

 

  vec2 变量名; //向量中可以存放2个浮点型数据。

  vec3 变量名; //向量中可以存放3个浮点型数据。

  vec4 变量名; //向量中可以存放4个浮点型数据。

 

  bvec2 变量名; //向量中可以存放2个布尔型数据。

  bvec3 变量名; //向量中可以存放3个布尔型数据。

  bvec4 变量名; //向量中可以存放4个布尔型数据。

 

3、变量名的命名规则

  只可以以"英文字母""下划线" 开头。

  例子:

    ivec3 _a123;  //正确

    vec2 _123;   //正确

    bvec4 a123;   //正确

    vec3 a_123;   //正确

    bvec2 123;    //错误

    vec3 123_a;   //错误

    ivec4 12ab;   //错误

 

4、变量的赋值方式有两种:

 (1)在变量定义时立即进行赋值

  例子:

   vec4 color = vec4(1.0f,1.0f,1.5f,0.5f);

  例子分析:

   通过浮点型关键字vec4定义了变量color,

   这样,变量color中就可以存放4个浮点型数据。

   然后,通过同类型的关键字vec4结合小括号包含4个浮点数,

   而每个数据之间用(逗号)分隔,分别是1.0f,1.0f,1.5f,0.5f。

   然后,再赋值给变color即可。

 

 (2)在变量定义后,再通过另一行代码进行赋值

  例子:

   vec4 c1;

   c1 = vec4(1.0f,1.0f,1.5f,0.5f);

  例子分析:

   通过浮点型关键字vec4定义了变量c1,并没有立即赋值。

   然后,在下一行代码中,通过同类型的关键字vec4结合小括号包含4个浮点数,

   再赋值给变color即可。

 

到这里,我们就学习完GLSL中的向量型变量这个知识点,而如何在GLSL的程序中去运用它

就可以通过下方的链接,下载完整的代码进行学习与训练,在下载的内容中,我们会结合

完整的代码继续详细分析每个知识点如何运用,这样,才可以一步一步地掌握GLSL 的程序开发。

 

>>>下载GLSL程序开发代码