![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ShaderLab
高夏夏
这个作者很懒,什么都没留下…
展开
-
Shader简介
概念Shader即着色器,是一款运行在GPU上的程序,用来对三维物体进行着色处理,光与影的计算,纹理颜色的呈现等,从而将游戏引擎中的一个个作为抽象的几何数据存在的模型,场景和特效,以和真实世界类似的光与影的形式呈现于玩家的眼中,可以说shader就是照亮虚拟世界的“魔法”编程简介 如果你是Shader编程的新手,可能随Cg很陌生,这个Shader编程语言其实并不难,你只需要了解一套她的关键字和原创 2017-10-12 12:15:58 · 1998 阅读 · 0 评论 -
Unity中的Shader的形态
Unity通过ShaderLab来组织Shader 作为一款号称跨平台性最好的游戏开发引擎,Unity使用自定义使用Mono这个开源的.NET来实现。对于要适应不同的GPU的Shader来说,Unity使用自定义ShaderLab来组织Shader的内容,并会针对不同的平台进行编译。 1.关键字Shader Unity的Shader文件是通过Shader这个关键字来开始的,用户可以像目录一样组原创 2017-10-13 14:29:58 · 235 阅读 · 0 评论 -
Unity中Shader的3种形态
固定管线 固定管线是在旧的GPU能力比较有限时,对Shader的约束比较高的一种形态,在ShaderLab中,固定管线的形态,语法和NAVIDIA的CgFX以及微软的FX文件比较类似,下面是固定管线的一个例子。Shader "Tut/Shader/FixedFuncs/BaseForm_1" { Properties { _Color ("Main Color",co原创 2017-10-14 16:50:38 · 970 阅读 · 0 评论 -
Shader的数据接口:属性和uniform变量
在Properties块中定义属性Properties { _MyTexture ("Texture (RGB)",2D)="white" {}//图片形式的属性 _MyColor ("Color of Object",Color)=(1,1,1,1)//颜色属性 _MyCube ("Environment map",Cube)="white" {}//3D贴图,需要6张图原创 2017-10-14 23:22:45 · 870 阅读 · 0 评论 -
Shader(着色器)之各种空间概念
模型空间 在Unity的脚本中,可以通过transform.wordToLocalMatrix这个矩阵的MultiplyPoint()或者MultiplyVector()的方法,把世界坐标表达的矢量转化为此物的模型空间表达的矢量,在Shader中,可以通过左乘_World2Object这个矩阵来完成此项任务。世界坐标空间 物体的Transfrom组件的localToWorldMatrix矩阵的原创 2017-10-15 16:05:10 · 533 阅读 · 0 评论