首页 > 其他 > 详细

Unity shader 初探

时间:2014-02-14 02:22:53      阅读:383      评论:0      收藏:0      [点我收藏+]
shader第一行:自定义shader所属的目录(随便取名,随便指定),这里的目录非shader文件所在的目录,而是类似于shader ID,供外部选择时使用!
bubuko.com,布布扣
当这一行修改成其他名字时,unity所有用到该shader的地方都会做对应修改
Shader的结构:
bubuko.com,布布扣
用在Properties中的shader中的变量类型:
bubuko.com,布布扣
Unity中的三种Shader类型:
  • Surface Shaders: 做光照和阴影效果的最佳选择。针对Unity lighting pipeline做了高度抽象,比如顶点结构已经预定义好。在图像效果或者其他特殊效果上,最好不要用这种,因为里面会做很多无端的光照计算。
  • Vertex and Fragment Shaders :最灵活、最强大、写起来最麻烦的那种最正统Shader。
  • Fixed Function Shaders : 主要针对老硬件和简单的手机平台
类似于Microsoft‘s .Fx files 和 NVIDIA的CgFX,Unity使用ShaderLab。无论哪一种shader类型,均包装在ShaderLab中。
对于Surface Shaders,宏定义如:#pragma surface surf BasicDiffuse

其中surf为指定的surfaceFunction;BaseicDiffuse为指定的LightingModel。实际对应的函数名称前必须加Lighting,对应上面即:LightingBasicDiffuse

Material没什么好说的,就是和特定shader关联,并控制shader code中的参数。需要被控制的参数全部定义在shader中的Properties区域块中
最好的帮助文档永远是官方文档:http://docs.unity3d.com/Documentation/Components/SL-Reference.html

Unity shader 初探

原文:http://blog.csdn.net/spracle/article/details/19157911

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!