·何谓Shader?
Shader这次词用途广泛,我们这里所讲Shader即是使用图形学语言调用DX库的程序命令集。他告诉计算机该使用哪一种技术以哪一种方式来对模型的哪一部分进行渲染。我们这里讲的Shader通常为*.fx格式的文件,你可以使用记事本或专业的Shader调试软件来编辑它。Shader编写的好坏将最终决定模型显示的质量。
·如何使用Shader?
在MAX中打开材质编辑器,将材质类型由Standard换为DirectX9 Shader.
然后点击图中方框所示的按钮,在弹出的对话框中选择你要使用的Shader.
刚才我们说了,Shader通常为 *.FX 文件,为了更好的讲解Shader,在这里我们为大家提供一个
共享皮肤Shader下载:
http://www.chinagad.com/article/070502/JIStyles_skinshader_R3.fx
将JIStyles_skinshader_R3.fx指定为此材质的Shader后,我们发现下方的界面发生的变化
下面我简单讲解一下该Shader的功能:
此Shader支持最多3个实时光源,光源类型支持MAX的3种基本灯光类型。
在最下面的Technique处选择你要使用的灯光数量。并在最上方的Light1-3下拉菜单中选择场景里对应的光源名称。
支持同时显示DiffuseMap,SpecularMap,TranslucencyMap,NormalMap四个通道。我们在下方可以看到这四个通道的选项。DiffuseMap,SpecularMap,NormalMap相信大家都不难理解,唯一需要特别说明的是TranslucencyMap,TranslucencyMap便是传说中的半透明3S效果,即可以自由指定模型上任何区域的透光度,并模拟出光线穿透的效果(例如背光的耳朵透出红色柔光)。使用方法是在RGB通道绘制透光的颜色(如耳朵就画红色),在Alpha通道表示物体的透光度,黑色代表完全不能穿透,白色代表100%透光。
而中间的参数则是调整各个通道的使用方式,大家自己多试便知。下面是该Shader实时显示的效果 :
