ShaderLab: Pass
成都创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以做网站、成都网站建设、移动互联产品、成都营销网站建设服务为核心业务。十余年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。Pass过程导致一个物体的几何被渲染一次。
语法:
Pass { [Name and Tags] [RenderSetup] }
基本的Pass命令包含了一系列的渲染步骤命令。
Name and tags
一个Pass过程可以定义它的名字和任意数量的标签,名字/值字符串传达了Pass给渲染引擎的意图。
Render State Setup
一个Pass过程设置显卡的各种各样的状态,例如是否开启透明度混合(alpha blending),是否使用深度测试(depth testing)等等。
命令格式如下:
Cull:
Cull Back | Front | Off
多边形的剔除模式(查阅Cull and Depth page)
ZTest:
ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always)
设置深度缓冲区测试模式(查阅Cull and Depth page)
ZWrite:
ZWrite On | Off
设置深度缓冲区写入模式(查阅 Cull and Depth page)
Blend:
Blend sourceBlendMode destBlendMode
Blend sourceBlendMode destBlendMode, alphaSourceBlendMode alphaDestBlendMode
BlendOp colorOp
BlendOp colorOp, alphaOp
AlphaToMask On | Off
设置透明度混合,透明度操作,透明度覆盖模式(查阅Blending page)
ColorMask:
ColorMask RGB | A | 0 | any combination of R, G, B, A
设置颜色通道写入遮罩,写入颜色遮罩0关闭全部颜色通道的渲染。默认模式是写入全部通道(RGBA),
但是对于某些特别的效果你也许需要留下特定的未改变的通道,或者完全关闭颜色写入。
Offset:
Offset OffsetFactor, OffsetUnits
设置Z缓冲区深度偏移。(查阅Cull and Depth page)
Legacy Fixed Function Shader Commands: 废弃的命令
一些命令是用于编写过时的fixed function style Shader。这是因为考虑到了被弃用的函数功能,
编写surface shader 或者 shader program 允许了更多的灵活性。不管怎样,因为每一个用fixed function style编写的简单的shader
会变得更加简单,所以这里有一些命令。在使用fixed function shader时会忽视它们。
Fixed Function Lighting and Material:
Lighting On | Off
Material { Material Block }
SeparateSpecular On | Off
Color Color-value
ColorMaterial AmbientAndDiffuse | Emission
所有这些控制fixed function per-vertex lighting,开启时,建立材质颜色,开启specular highlights,
提供默认颜色如果顶点灯光关闭的话,并且控制网格顶点颜色如何影响光照。(查阅Material page)
Fixed Function Fog:
Fog { Fog Block }
设置fixed function fog参数(查阅Fog page)
Fixed Function AlphaTest:
AlphaTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always) CutoffValue
开启fixed function alpha testing(查阅Alpha Testing page)
Fixed Function Texture Combiners:
在渲染状态建立之后,通过SetTexture命令,你能指定一些贴图并且他们应用的合并模式。
SetTexture textureProperty { combine options }
Details:
Shader的Pass过程与Unity的渲染管道有以下几种方式的交互:
例如:一个Pass可以通过标签来指定它只能被用于defered shading。
确定的Pass也可以被同一个物体执行多次,例如在forward rendering中,这个"ForwardAdd"Pass会被执行多次,
取决于有多少灯光影响这个物体。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章题目:ShaderLab:Pass-创新互联
文章位置:http://scyingshan.cn/article/gcsoo.html