ShaderLab
FindSuningShine
这个作者很懒,什么都没留下…
展开
-
ShaderLab 初学笔记
Unity中的材质着色器被称为ShaderLab,形式上接近于CgFX和Direct3D Effects (.FX)。在Unity中配置属性的时候,其实就是针对Shader进行配置。下面我们看一个简单的脚本:Shader "u3dcool.com/Tutorial/Basic" { Properties { _Color ("Main Color", Color转载 2013-08-04 21:54:22 · 598 阅读 · 0 评论 -
Unity3d Shader(三) Pass
Pass通道块控制被渲染的对象的几何体。 Syntax 语法Pass { [Name and Tags] [RenderSetup] [TextureSetup] }基本通道命令包含一个可选的渲染设置命令的列表,和可选的被使用的纹理的列表。 Name and tags 名称和标签一个通道能定义它的Name 和任意数量的Tags (用于向渲染引转载 2014-01-07 09:17:08 · 781 阅读 · 0 评论 -
Unity3d Shader(二) SubShader
Unity中的每一个着色器都包含一个subshader的列表,当Unity需要显示一个网格时,它能发现使用的着色器,并提取第一个能运行在当前用户的显示卡上的子着色器。 Syntax 语法Subshader { [Tags] [CommonState] Passdef [Passdef ...] }通过可选标签,通用状态 和 一个Pass 定义的列表构成了子着色器。 Deta转载 2014-01-07 09:16:36 · 691 阅读 · 0 评论 -
Unity3d Shader(三) Pass(Blending)带贴图的透明玻璃等
Blending is used to make transparent objects.混合被用于制作透明物体。Shader(三) Pass(Blending)带贴图的透明玻璃等" style="margin:0px; padding:0px; border:0px; list-style:none">When graphics are rendered, after a转载 2014-01-07 09:23:43 · 2049 阅读 · 0 评论 -
Unity3d Shader(三) Pass(Culling & Depth Testing)透明立方体
剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和反面。剔除基于大多数对象都是封闭的事实;如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因此我们不需要绘制出背面。因此也被称做背面剔除。 另一个使得渲染看起来正确的是深度测试。深度测试确保只有场景内的对象的最靠近的表面参与绘制。 Syntax 语法 Cull转载 2014-01-07 09:20:57 · 778 阅读 · 0 评论 -
Unity3d Shader(一) Properties
着色器可以定义一个参数列表,可以由开发者在材质检视面板编辑参数。着色器文件中的Properties块定义了这些参数: 语法:Properties { Property [Property ...] }定义属性块,其中可包含多个属性,其定义如下 name ("display name", Range (min, max)) = number定义转载 2014-01-07 09:15:53 · 715 阅读 · 0 评论 -
Unity3d Shader(三) Pass(GrabPass)捕获物体所在位置的屏幕的内容
GrabPass 是一种特殊的通道类型 - 捕获物体所在位置的屏幕的内容并写入到一个纹理中。这个纹理能被用于后续的通道中完成一些高级图像特效。 Syntax 语法 The GrabPass belongs inside a subshader. It can take two forms:有两种方式将GrabPass放入一个 subshader 中:转载 2014-01-07 09:24:10 · 1446 阅读 · 0 评论 -
Unity3d Shader(三) Pass(Alpha testing)植物的透明剪切
The alpha test is a last chance to reject a pixel from being written to the screen.透明度测试是阻止像素被写到屏幕的最后机会。Shader(三) Pass(Alpha testing)植物的透明剪切" style="margin:0px; padding:0px; border:0px; list-s转载 2014-01-07 09:23:03 · 1641 阅读 · 0 评论 -
Unity3d Shader(三) Pass(Texturing)混合纹理(同时显示2张图),自发光
After the basic vertex lighting has been calculated, textures are applied. In ShaderLab this is done using SetTexture command.纹理在基本的顶点光照被计算后被应用。在着色器中通过SetTexture 命令来完成。SetTexture commands have转载 2014-01-07 09:22:24 · 2276 阅读 · 0 评论 -
shaderLab关键字和函数
SubShader{ Tags{"Queue"="Transparent"} //渲染完不透明物体,再渲染当前物体 GrabPass{} //将当前屏幕抓取到_GrabTexture纹理变量中.之后的pass可以使用这张纹理. Pass{ Name "passName" //给pass起名 Material{ //[]取值符号 Diffuse[_diffuseC转载 2013-08-04 21:57:22 · 693 阅读 · 0 评论 -
Unity3d Shader(三) Pass(Color, Material, Lighting )
材质和灯光参数被用于控制内置顶点光照。顶点光照是Direct3D/OpenGL标准的按每顶点计算的光照模型。光照打开时,光照受材质块,颜色材质和平行高光命令的影响。 每像素光照常被实现为自定义顶点/片面程序,并且不使用顶点光照。这种情况下,你不会使用到任何在这里描述的命令,相反,在你完成光照,贴图和任何其他动作时,你需要定义自己的vertex and fragment prog转载 2014-01-07 09:20:20 · 1030 阅读 · 0 评论