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

  

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

0基础C语言学习与训练

0基础C++学习与训练

Windows项目开发

 

1、在HLSL的语法中,它提供了向量类型关键字进行变量的定义,

向量类型主要由两部分组成,

第一部分是前面学习过的整型、浮点型、布尔型。

第二部分是(数值1至4)用于描述向量中元素的个数。

而通过这两部分的组合就可以形成一个(向量类型)的关键字,并可以使用它进行变量的定义。

 

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

  类型关键字 空格 变量名;

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

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

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

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

 

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

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

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

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

 

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

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

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

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

 

  例子:

  float4 color = {1.0f,1.0f,1.5f,0.5f};

  int1 p = 1;

  例子分析:

   (1)通过浮点型关键字float数值4组成向量类型float4,

      这样,就可以描述向量中可存放4个浮点型数据。

      然后,通过float4定义了变量color,并进行了赋值,

      赋值时由于有多个数据,所以,使用大括号作为数据的起始与结束边界,

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

   (2)通过整型关键字int数值1组成向量类型int1,

      这样,就可以描述向量中可存放1个整型数据。

      然后,通过int1定义了变量p,并赋值为1。

 

3、变量名的命名规则

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

  例子:

    int3  _a123;  //正确

    float2 _123;   //正确

    bool4 a123;   //正确

    float3 a_123;   //正确

    bool2 123;    //错误

    float3 123_a;   //错误

    int4  12ab;   //错误

 

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

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

    例子:

    float1 a=1.0f; 

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

    例子:

    float2 a;

    a={1.0f,2.0f};

 

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

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

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

 

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