十二月 27

Unity3D中Shader和Material的关系

许多Unity3D的初学者都会对Shader产生困惑,不明白这到底是个什么东西。今天,我们就简单的介绍以下Unity3D中的Shader和Material的关系。

Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质)。之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染(输出)了。

所以说Shader并没有什么特别神奇的,它只是一段规定好输入(颜色,贴图等)和输出(渲染器能够读懂的点和颜色的对应关系)的程序。而Shader开发者要做的就是根据输入,进行计算变换,产生输出而已。换句话说,Shader定义了我们要用哪些参数来定义一个Material,是一个Material的模板。当我们把模板中需要的参数,例如Color,Texture等填充上去之后,我们就得到了我们想要的Material。



文章由安静原创,发表于www.ajnote.com。转载请注明出处

发表 2018年12月27日 自 anjing 类别 "Unity学习笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注