Shader初步了解

       shader language被定位为高级语言,如,GLSL的全称是“High Level Shading Language”,Cg语言的全称为“C for Graphic”,并且这两种shader language的语法设计非常类似于C语言。不过高级语言的一个重要特性是“独立于硬件”,在这一方面shader language暂时还做不到,shader language完全依赖于GPU构架,这一特征在现阶段是非常明显的!任意一种shader language都必须基于图形硬件,所以GPU编程技术的发展本质上还是图形硬件的发展。在shader language存在之前,展示基于图形硬件的编程能力只能靠低级的汇编语言。

      Shader language目前主要有3种语言:基于OpenGL的GLSL,基于Direct3D的HLSL,还有NVIDIA公司的Cg 语言。

      unity用的是ShaderLab,据说是整合了这三种语言,也可能只整合了CG,因为CG是跨GLSL和HLSL的。

      Property里的东西是用于属性的可视化配置的,这样可以方便美术面调出好看的效果。  一个Shader可以包含多个SubShader,SubShader的作用是可以在一个Shader中为不同性能的显卡编写不同的Shader,在运行时会取出第一个可以在当前显卡跑的SubShader。每个SubShader里会有多个Pass。  Pass就是具体对渲染进行操作的单元了。在这里可以设置颜色,材质,贴图等。

     具体的话,不用去网上找资料了,基本没有,可以去官网或圣典查看文档,或者去【风宇冲Unity3D教程学院】:http://blog.sina.com.cn/s/blog_471132920101d8zf.html,这个大大很厉害的,先查看和了解一下,接下来我们一起去学习CG吧,我以前没学过图形学哦,从今天起开始学,呵呵~~~

你可能感兴趣的:(Shader初步了解)