一、什么是Shader
shader,中文翻译即着色器。是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去由汇编语言进行编写,现在也可以使用高级语言来编写。主要分为两类,顶点着色器(Vertex Shader)和片段着色器(Fregment Shader)(从网上抄的一篇小作文~_~)
二、什么是渲染管线
渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的并行处理单元。一个流水线是一序列可以并行和按照固定顺序进行的阶段。每个阶段都从它的前一阶段接受输入,然后把输出发给随后的阶段。就像一个在同一时间内,不同阶段不同的汽车一起制造的装配线,传统的图形硬件流水线以流水的方式处理大量的顶点、几何图元和片段。(我滴妈,完全不懂这是要讲什么的好吗?)
三、Shader和材质、贴图的关系
Shader(着色器)实际上就是一小段程序,它负责将输入的顶点数据以指定的方式和输入的贴图或者颜色等组合起来,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shder的特定的参数设置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予三维物体来进行渲染(输出)了。
材质好比引擎最终使用的商品,Shader好比是生产这种商品的加工方法,而贴图就是原材料。
四、总结
1.Shader是图形可编程方案的程序片段。
2.渲染管线是一种计算机从数据到最终图形成像的形象描述。
3.材质是商品,Shader是方法,贴图是材料。
4.第一次写blog,都是抄的。终于又开始用好久都没有用过的Unity,这次顺便也把Shader学个7788。好了,第一篇blog这样。