DirectX3D Shader编程

 

      在接下来的时间里,我们将为大家介绍,DirectX Shader编程,也就是"着色器编程"。

 

      1、我们为什么要学习DirectX Shader?因为,Shader(着色器)编程是图形处理的一个新技术,它可以允许我们在渲染的各个阶段进行处理,这样,就可以让图形编程更加灵活,让游戏程序可以展示出更加逼真与生动的画面。

 

      2、什么是Shader?其实,学习Shader(着色器)就是要学习"可编程渲染管线",而它是由5个不同的阶段去组成的,而这5个阶段中的“顶点“、”几何“与”像素“着色器阶段”在运行的过程中都可以执行我们所编写的Shader(着色器)代码。

 

 

      接下来,我们先来看看"可编程渲染管线"的每个阶段要负责什么工作,以及每个阶段的名称。

 

      1、输入汇编阶段,简称IA,主要负责将"顶点"绑定到IA阶段,设置图元格式,设置输入布局,编译与创建"顶点"与"像素"着色器。

 

      2、顶点着色器阶段,简称VS,主要负责对"顶点"信息的处理。

 

      3、几何着色器阶段,简称GS,主要负责对”几何“信息的处理,它是一个"可选阶段"也就是可有,也可以没有。

 

      4、像素着色器阶段,简称PS,主要负责对"像素"信息的处理。

 

      5、输出合并阶段,简称OM,主要负责对"像素"信息进行判断其是否可以被写入"后台缓冲区"还是要被丢弃,另外,还可以处理像素的混合工作。

 

 

      首先,我们来详细介绍一下第一阶段。

 

      第一阶段:称作"输入汇编器阶段"简称IA,在这个阶段中它要完成以下这3个工作。

 

      (1)创建缓冲区并保存程序中设定好的"顶点值"等的数据信息,并绑定到IA阶段。

 

      (2)设定"顶点"的组合形式,并根据程序的设置来确定把"顶点"组成一个什么样的图元。也就是把"顶点"组成"三角形"还是组成"直线"还是组成"扇形"还是其它的图形。

 

      (3)设置输入布局,编译与创建"顶点"与"像素"着色器,当工作完成以后,把"顶点"送往下一个阶段,就是"顶点着色器阶段"。

 

      当我们了解完以上的内容以后,就需要大家把手动起来,看看如何通过代码把这些内容最终实现出来。所以,我们先点击下面的按钮,然后,进入到游戏中,再结合代码作进一步的学习与实践训练。

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练