Unity3d Shader开发(三)Pass(Culling Depth Testing).docVIP

Unity3d Shader开发(三)Pass(Culling Depth Testing).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unity3dShader开发(三)Pass(Cullingamp;DepthTesting).doc

? ?? ?? ?? ? ?? ?剔除是一种通过避免渲染背对观察者的几何体面来提高性能的优化措施。所有几何体都包含正面和反面。剔除基于大多数对象都是封闭的事实;如果你有一个立方体,你不会看到背离你的那一面(总是只有一面在你的前方),因此我们不需要绘制出背面。因此也被称做背面剔除。? ?? ?该文章出自? ?? ?另一个使得渲染看起来正确的是深度测试。深度测试确保只有场景内的对象的最靠近的表面参与绘制。 ? ?? ? 这个对象只会渲染对象的背面。 Shader Show Insides { ? ? SubShader { ? ?? ???Pass { ? ?? ?? ?? ?Material { ? ?? ?? ?? ?? ? Diffuse (0,1,1,1) ? ?? ?? ?? ?} ? ?? ?? ?? ?Lighting On ? ?? ?? ?? ?Cull Front ? ?? ???} ? ? } } 复制代码 ? ?? ?? ?我把太阳光正对着摄像机,Cube正对摄像机 ? ?? ???? ? ?? ?? ?尽量应用到一个立方体上,并注意当你围绕几何体旋转时,几何体是如何看起来变糟糕的。 这是因为你只看见了立方体的内部部分。 玻璃剔除 ? ?? ?? ?控制剔除比背面调试更有用。如果你有透明物体,你经常会想要显示一个对象的背面。如果你不做任何剔除,你会发现有时常有一部分背面会覆盖在前面的一部分上。 ? ?? ???下面是一个用于凸物体(球,立方体,车窗)的简单着色器。 Shader Simple Glass { ? ? Properties { ? ?? ???_Color (Main Color, Color) = (1,1,1,0) ? ?? ???_SpecColor (Spec Color, Color) = (1,1,1,1) ? ?? ???_Emission (Emmisive Color, Color) = (0,0,0,0) ? ?? ???_Shininess (Shininess, Range (0.01, 1)) = 0.7 ? ?? ???_MainTex (Base (RGB), 2D) = white { } ? ? } ? ? SubShader { ? ?? ???// We use the material in many passes by defining them in the subshader. ? ?? ???// 我们通过把定义放在子着色器中以便可以在许多通道中访问材质 ? ?? ???// Anything defined here becomes default values for all contained passes. ? ?? ???// 任何定义在这里的值都会变成所有内含的通道的默认值 ? ?? ???Material { ? ?? ?? ?? ?Diffuse [_Color] ? ?? ?? ?? ?Ambient [_Color] ? ?? ?? ?? ?Shininess [_Shininess] ? ?? ?? ?? ?Specular [_SpecColor] ? ?? ?? ?? ?Emission [_Emission] ? ?? ???} ? ?? ???Lighting On ? ?? ???SeparateSpecular On ? ?? ???// Set up alpha blending ? ?? ???// 开启透明度混合 ? ?? ???Blend SrcAlpha OneMinusSrcAlpha ? ?? ???// Render the back facing parts of the object. ? ?? ???// 渲染对象的背面部分 ? ?? ???// If the object is convex, these will always be further away ? ?? ???// 如果对象是凸, 总是离镜头离得比前面更远。 ? ?? ???// than the front-faces. ? ?? ???Pass { ? ?? ?? ?? ?Cull Front ? ?? ?? ?? ?SetTexture [_MainTex] { ? ?? ?? ?? ?? ? Combine Primary * Texture ? ?? ?? ?? ?} ? ?? ???} ? ?? ???// Render the parts of the object facing us. ? ?? ???// 渲染对象面向我们的部分 ? ?? ???// If the object is convex,

您可能关注的文档

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档