HLSL Shader着色器编程(函数和语意)

  

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

0基础C语言学习与训练

0基础C++学习与训练

Windows项目开发

 

1、什么是(HLSL中的函数)?

函数——其实,HLSL中的函数与C语言中的函数是相似的,大家都有函数名、参数、返回类型,

而有所不同的只是在函数的参数定义时可以加上(语意)。

 

2、(HLSL函数定义)的语法格式:

返回类型 函数名(参数类型 参数1[:语意],...,参数类型 参数n[:语意])[:语意]

{

   //代码;

   return 返回值;

}

 

函数的语法格式分析:

(1)返回类型,说明该函数处理完毕以后的结果类型,同时,返回值的类型必须与返回类型

   一致。

(2)函数名,说明该函数的名字,当需要调用该函数时,就可以通过函数名进行调用。

(3)一对(小括号)作为(参数定义)的起始与结束边界。

(4)在(小括号)中进行参数的定义,定义时,按照变量定义的语法格式进行定义即可,

   每个参数定义之间通过(逗号)分隔。

(5)每个参数定义的格式后面都可以定义一个语意,而语意是一个可选项,也

   就是不一定要写上。

(6)在(小括号)后面也可以定义一个语意,该语意是针对函数的返回值,

  另外,该语意也是一个可选项,也就是不一定要写上。

 

例子:

float4 PosAdd(float4 p:POSITION )

{

  float4 r=p + 0.5;

  return r;

}

分析:

(1)返回类型是float4。

(2)函数名字是PosAdd。

(3)定义了1个参数,类型为float4,参数名是p。

(4)在参数的后面使用了语意POSITION,用于说明接收顶点的位置数据

(5)在函数中,参数p与0.5进行了相加,而结果保存于变量r中。

(6)通过return返回r中的值。

在HLSL中还有很多不同的语意,大家可以查看目录中的(HLSL语意查询)。

 

到这里,我们就学习完HLSL中的函数与语意这个知识点,

如何在HLSL的程序中去运用它,就可以通过下方的链接,下载完整的代码进行学习与训练,

在下载的内容中,我们会结合完整的代码继续详细分析每个知识点如何运用,这样,才可以

一步一步地掌握HLSL 的程序开发。

 

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