GLSL Shader着色器编程(输入限定符)

  

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

0基础C语言学习与训练

0基础C++学习与训练

Windows项目开发

 

1、在GLSL的语法中,它提供了一个输入限定符in,用于说明所指定的变量在着色器中作为

 数据的输入使用,即作为一个数据入口,让数据可以通过该变量输入到GLSL所编写的着色器

 程序中使用。

 

2、输入限定符定义的语法格式

  in 类型关键字 空格 变量名;

 

  例子:

   in vec4 a;

   in float b=1; //错误

   a = vec4( 1.0,2.0,3.0,1.0); //错误

   vec4 s = p*f1; //正确

  分析:

  (1)在例子中首先通过 in 定义了类型为 vec4 的变量 a 。

  (2)通过 in 定义了类型为 float 的变量 b ,并赋值为1,但是,这样的赋值操作是错误的。

    因为,被 in 所定义的变量,只能作为一个数据入口,而这些数据不是通过赋值获取的,

    也就是说,不能对被 in 所定义的变量进行赋值。

  (3)通过另一行代码对变量 a 进行赋值,也是错误的,因为,变量 a 是被 in 所限定,

    即使通过另一行代码进行赋值,也是错误的。

  (4)把变量a与变量b相乘,结果赋值给另一个变量s,这是正确的。

 

到这里,我们就学习完GLSL中的输入限定符这个知识点,而如何在GLSL的程序中去运用它

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

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

 

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