`
380071587
  • 浏览: 447405 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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吧,我以前没学过图形学哦,从今天起开始学,呵呵~~~

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics